Repeated 529 Overloaded errors
The message
Repeated 529 Overloaded errorsWhat it means
Anthropic's API is busy across every user and Claude Code has run out of retries. Your key, your plan and your usage limits are all uninvolved.
What to do
Run /model and drop to Sonnet, which is what the product itself suggests, or wait a few minutes. Check status.claude.com if it keeps happening.
A 529 is about the service rather than about you. Anthropic's own errors page defines it as overloaded_error, "the API is temporarily overloaded", and adds that it happens "when the API experiences high traffic across all users". Your key is fine, your limits are fine, and there are more requests arriving than there is capacity to serve.
Claude Code surfaces it in a few different shapes depending on how many you get and which model you're on. Here's each one, read out of the shipped binary, version 2.1.269.
The retry line, which comes first
One 529 usually never reaches you. Claude Code retries, and while it does you'll see a line ending like this:
· Retrying in 4s (6:12 PM) · attempt 2/5
The time in brackets only appears when the response carried a reset time. If you're watching that counter climb toward its maximum, you're watching retries fail, and that's the moment to do something rather than wait.
“Repeated 529 Overloaded errors”
When the retries run out, Claude Code names the failure instead of showing a raw status code:
Repeated 529 Overloaded errors
followed by a sentence pointing at a status page. Which page depends on how you're connected, and the binary picks between several:
- on a normal claude.ai or API-key setup:
If it persists, check https://status.claude.com. - with
ANTHROPIC_BASE_URLset to your own gateway:If it persists, check your inference gateway (yourhost.example). - on Claude in Google Cloud:
If it persists, check https://status.claude.com and Google Cloud's status page. - on any other provider:
If it persists, check your <provider> service status.
That branching is worth a second of attention if you're behind a gateway or a proxy, because in that case the overload being reported may be your gateway's rather than Anthropic's, and status.claude.com will look perfectly green while you keep failing.
The message that actually tells you what to do
There's one more string, and it's the useful one:
Opus is experiencing high load, please use /model to switch to Sonnet
The same sentence exists with Fable in place of Opus, and both name Sonnet as the place to go. That the product bothers to suggest a specific smaller model says the load isn't the same on all of them, so this is worth taking literally rather than reading as a polite brush-off. Run /model, pick Sonnet, carry on. You can switch back later in the same session.
If you're deep in something where the model choice matters, the other move is simply to wait a few minutes. Overload events are usually short. Hammering retry against a saturated service is the one response that's guaranteed not to help.
The messages that look like a 529 and aren't
Two of these get mistaken for overload constantly, and Claude Code words them carefully enough to tell apart.
Server is temporarily limiting requests (not your usage limit) is a 429. Anthropic's docs list rate_limit_error as an organization rate limit, a monthly spend cap on your usage tier, or a spend limit on the Claude Code workspace. The parenthetical is in the product because people read every 429 as "I've used up my plan", and this one means the service is throttling the rate of requests. A spend-cap 429 behaves differently, by the way: the docs say it arrives with no retry-after header and keeps failing until access resumes.
Request timed out is a 504, and on long jobs it's usually about the length of a single response rather than load.
Anthropic's own code table, in short
From their errors page, read 2026-09-12. The type name in the second column is what appears in the JSON body, which is handy when the error reaches you through a script rather than through the terminal.
- 400
invalid_request_error: something wrong with the shape or content of the request. Also what an organization or workspace spend limit returns, except on the Claude Code workspace, which can answer 429 instead. - 401
authentication_error: the key is malformed, revoked or expired. - 402
billing_error: a payment problem. - 403
permission_error: the key can't use that resource. - 404
not_found_error: wrong endpoint path or resource id. - 409
conflict_error: the resource changed underneath you. - 413
request_too_large: over the size cap, which is 32 MB for the Messages API. - 429
rate_limit_error: rate limit or spend cap. - 500
api_error: something broke inside Anthropic. Retry with backoff, then contact support with the request id. - 504
timeout_error: the request timed out while processing. - 529
overloaded_error: the subject of this page.
One detail from the same page that catches people writing their own scripts: the official SDKs already retry connection errors, rate limits and 5xx twice by default with exponential backoff, honoring retry-after when it's there. Adding your own retry loop on top gives you four attempts, not two, and quadruples the load you're putting on something that just told you it's overloaded.
The 400 that isn't about overload at all
Worth knowing because it's the other 4xx people paste into a search box. Claude Code has two 400s of its own making:
API Error: 400 duplicate tool_use ID in conversation history.
API Error: 400 due to tool use concurrency issues.
Both are about the conversation's state rather than the service's health, and both come with the same advice from the product: Run /rewind to recover the conversation. That rolls the session back to a clean point instead of leaving you to clear it and lose everything.
For the limit messages that look similar but come from your plan rather than the API, we wrote up what “Lower-priority mode isn't available right now.” means and what /limit-reset actually resets.
Other lines the same feature prints
Match yours against these if the one at the top of the page is not quite it. They come from the same code and mean related things.
· Retrying in 4s (6:12 PM) · attempt 2/5Repeated 529 Overloaded errors If it persists, check https://status.claude.com.Opus is experiencing high load, please use /model to switch to SonnetFable is experiencing high load, please use /model to switch to SonnetServer is temporarily limiting requests (not your usage limit)Request timed outAPI Error: 400 duplicate tool_use ID in conversation history.API Error: 400 due to tool use concurrency issues.Run /rewind to recover the conversation.