---
title: "Fix the Claude overloaded error 529 and rate limit error 429"
description: "A 529 overloaded_error means the Claude API is busy for everyone. A 429 rate_limit_error means your organization hit a limit. Retry both with backoff."
canonical: "https://logbrew.co/en/guides/claude-overloaded-rate-limit-error"
last_updated: "2026-11-10"
---

# Fix the Claude overloaded error 529 and rate limit error 429

A 529 `overloaded_error` means the Claude API is busy for everyone. A 429 `rate_limit_error` means your organization hit a limit. Retry both with backoff.

Tested on November 10, 2026 with Claude Code 2.1.319 and @anthropic-ai/sdk 1.7.0

By [Furkan Erday](https://github.com/furkanerday). Furkan Erday is the founder of LogBrew. He builds LogBrew with Claude Code and Codex every day.

Canonical: https://logbrew.co/en/guides/claude-overloaded-rate-limit-error

## How long each client waited before a retry

|  | Seconds before each retry | Retries | Total time |
| --- | --- | --- | --- |
| Claude Code, every answer 529 | 0.6 · 1.1 | 2 | 2.4 s |
| Claude Code, every answer 429 | 0.5 · 1.2 · 2.5 · 4.1 · 8.8 · 18.8 · 34.2 · 35.4 · 36 · 39.9 | 10 | 182 s |
| TypeScript SDK with `maxRetries: 5`, every answer 529 | 0.4 · 1 · 1.9 · 3.5 · 7.4 | 5 | 14.3 s |

## Fix it in Claude Code

### Check the Claude status page

A capacity notice on status.claude.com means the problem is on the Anthropic side, and only time fixes it.

### Wait and try again

`API Error: Repeated 529 Overloaded errors` means Claude Code already retried. A 529 does not count against your usage limit.

### Switch to another model

Anthropic tracks capacity per model. Pick another model, for example Sonnet when Opus is busy.

```bash
/model
```

### Set a fallback model for scripts

In print mode, `--fallback-model` moves to a second model after repeated 529 errors. In our test it moved after 3 requests.

```bash
claude -p "Run the tests" --fallback-model sonnet
```

### Keep unattended runs going

In CI and other runs with no one watching, this setting retries 529 and 429 errors until capacity comes back.

```bash
export CLAUDE_CODE_RETRY_WATCHDOG=1
```

## Fix it in your own app

### Retry with backoff

The official Claude SDKs retry 429, 529, and other 5xx errors 2 times by default, with exponential backoff, and obey the `retry-after` header. Raise `maxRetries` when your app can wait longer.

```bash
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ maxRetries: 5 });
```

### Log the error and its request ID

When the retries run out, the SDK throws `OverloadedError` or `RateLimitError`. Save `error.requestID` so Anthropic support can find the request.

```bash
try {
  await client.messages.create(request);
} catch (error) {
  if (
    error instanceof Anthropic.OverloadedError ||
    error instanceof Anthropic.RateLimitError
  ) {
    console.warn("Claude API busy", error.status, error.requestID);
  }
  throw error;
}
```

### Grow traffic slowly

A sharp jump in your own traffic can trigger 429 acceleration limits. Grow traffic step by step and keep it steady.

## What we saw when we tested it

No one can force a real 529, so we pointed Claude Code and the TypeScript SDK at a local test server that answered every request with 529 or 429. Claude Code treats such a server as a gateway, so a session on the real API can differ.

Claude Code sent 3 requests that got 529, then stopped after 2.4 seconds with `Repeated 529 Overloaded errors`. With `--fallback-model sonnet`, it moved to Sonnet after those 3 requests and retried 10 more times over about 3 minutes. A 429 got 10 retries over 182 seconds, with waits that grew from 0.5 to 40 seconds, before `Request rejected (429)`. With `CLAUDE_CODE_RETRY_WATCHDOG=1`, Claude Code was still retrying a 529 when we stopped the run after 150 seconds.

With default settings, the SDK sent 3 requests, the first plus 2 retries, and threw `OverloadedError` after 1.3 seconds. With `maxRetries: 5` it sent 6 requests over 14.3 seconds. When the 429 carried `retry-after: 3`, the SDK waited 3 seconds before each retry, and Claude Code waited 3 seconds before each of its first 3 retries.

## 529 and 429 are different errors

A 529 `overloaded_error` means the API is busy for all users. It is not your limit, and it does not count against your quota.

A 429 `rate_limit_error` belongs to your organization. You hit a rate limit, your usage tier's monthly spend cap, or a spend limit on the Claude Code workspace. A spend-cap 429 has no `retry-after` header and keeps failing until access comes back, so retries do not help there.

## Claude Code plan limits are not API errors

`You've hit your session limit` and `You've hit your weekly limit` come from your Claude plan. The session limit is the rolling window people call the 5-hour limit. Run `/usage` to see both limits and when they reset.

`Server is temporarily limiting requests (not your usage limit)` is a short throttle on the server, and Claude Code retries it for you. `Request rejected (429)` means an API key, Amazon Bedrock project, or Google Cloud project hit its own rate limit.

An `ANTHROPIC_API_KEY` in your shell wins over your plan, so Claude Code can hit the key's lower limit. Run `/status` to see which login is active.

#16157, with 1,499 comments, reports Max users who hit the limit almost at once. In January 2026 an Anthropic engineer wrote that the team had no good explanation yet. #29579 reports `Rate limit reached` at 16% usage, and #6457 reports the 5-hour limit in under 90 minutes. All 3 reports are still open.

## Questions people ask

### Does a 529 error count against my Claude usage limit?

No. The Claude Code docs say a 529 is not your usage limit and does not count against your quota.

### How long does the Claude overloaded error last?

Anthropic says it is usually temporary. Check status.claude.com for an open incident and its updates.

### Why does Claude Code say rate limit reached?

Your plan limit ran out, the server throttled requests for a short time, or an API key hit its rate limit. `/usage` and `/status` show which one.

### When does the Claude Code limit reset?

The message names the time, for example `resets 3:45pm`. `/usage` shows it too.

### Should my app retry a 529 error?

Yes, with exponential backoff. The official SDKs retry 2 times by default, and in our test the TypeScript SDK waited exactly as long as `retry-after` asked.

## See every Claude API error in your app

If your app calls the Claude API, LogBrew groups repeated 529 and 429 errors into 1 issue and shows how often each one happens. Start on the generous free tier, no card needed.

[Start Free](https://logbrew.co/en)

## Sources

- [Claude API docs, Errors](https://platform.claude.com/docs/en/api/errors)
- [Claude API docs, Rate limits](https://platform.claude.com/docs/en/api/rate-limits)
- [Claude Code docs, Error reference](https://code.claude.com/docs/en/errors)
- [anthropics/claude-code#16157](https://github.com/anthropics/claude-code/issues/16157)
- [anthropics/claude-code#29579](https://github.com/anthropics/claude-code/issues/29579)
- [anthropics/claude-code#6457](https://github.com/anthropics/claude-code/issues/6457)

## More guides for AI coding agents

- [Add an MCP server to Claude Code and Codex](https://logbrew.co/en/guides/mcp-server-claude-code-codex)
- [Use AGENTS.md in Claude Code and Codex](https://logbrew.co/en/guides/agents-md)
- [How to fix errors in Claude Code, Codex, and browser JavaScript](https://logbrew.co/en/guides)
