Claude Code 529 overloaded: why it happens, what to do

A 529 overloaded error means Anthropic's API is at capacity, not that your quota ran out. Why Claude Code shows it, what helps and what doesn't.

Contents

A 529 "overloaded" error in Claude Code means Anthropic's API is at capacity for everyone at that moment. It is not your usage limit, and it doesn't count against your quota. Claude Code has already retried several times before it shows you the error. Wait a few minutes, check status.claude.com, or switch model with /model.

What the 529 overloaded error means#

The message looks like this:

text
API Error: Repeated 529 Overloaded errors. The API is at capacity — this is usually temporary. Try again in a moment. If it persists, check https://status.claude.com.

Two sentences in Anthropic's Claude Code error reference settle it: "The API is temporarily at capacity across all users." and "A 529 is not your usage limit and doesn't count against your quota." The API error list describes the 529 overloaded_error as one that "can occur when the API experiences high traffic across all users."

The cause is on Anthropic's side, not in your plan, prompt or settings, which is also why the fixes for a usage limit don't work on it. Three errors get mixed up:

You see What it means Counts against your limit? What helps
Repeated 529 Overloaded errors The API is at capacity for all users No Wait, or use another model
429 or "You've hit your session limit" You or your organisation reached a limit It is the limit Wait for the reset, or another account or key
API Error: 500 An unexpected failure inside the API No Wait a minute and send again

If yours says 429, our guide to the Claude Code 429 error is the one you want. If it names your session or weekly limit, read what to do when you reach Claude's limit. A 400 that mentions tool_use or tool_result is different again: it repeats on every message in that conversation, and our guide to API Error 400 on tool use has the fix.

Claude Code already retried for you#

By the time you read the error, Claude Code has used up its retries. Per Anthropic's docs, Claude Code retries transient failures, overloaded responses among them, up to 10 times with exponential backoff. While it does, the spinner shows Retrying in Ns · attempt x/y, and from the third try it names the reason. On a 529 the line underneath points you to status.claude.com.

You can tune that behaviour with environment variables (defaults as of 22 October 2026, from the same page):

Variable Default What it does
CLAUDE_CODE_MAX_RETRIES 10 How many retries. Capped at 15
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS 500 First wait between 529 retries
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS 32000 Longest wait between 529 retries
CLAUDE_CODE_RETRY_WATCHDOG unset 1 retries 429 and 529 capacity errors with no end. Meant for unattended runs such as CI

The watchdog is a sharp tool. It keeps a CI job alive through an overload, but it also keeps retrying a 429, so in an interactive session it can hide the fact that you've hit a real limit.

What to do about a 529#

  1. Check the status page. Open status.claude.com and look at the Claude Code and Claude API rows. You can subscribe there by email, Slack or webhook to hear when it clears.
  2. Wait a few minutes, then send again. Anthropic calls the error "usually temporary". Your message is still in the conversation, so a short "try again" does; there's no need to paste a long prompt again.
  3. Switch model with /model. Anthropic's docs say capacity "is tracked per model", and Claude Code sometimes suggests it itself: Opus is experiencing high load, please use /model to switch to Sonnet. One cost to know: Anthropic's prompt caching page says each model has its own cache, so the first turn on the new model reads your whole conversation with no cache hits.
  4. Set a fallback model for next time. claude --fallback-model sonnet,haiku falls back to those models, in order, when the main one is overloaded or not available. The switch lasts for that turn; your next message tries the main model first again. The fallbackModel setting keeps it for every session.
  5. Give long unattended jobs more patience. For a script or CI run that can wait, raise CLAUDE_CODE_MAX_RETRIES or set CLAUDE_CODE_RETRY_WATCHDOG=1. Overloads come from load, so a job that can run later often finishes without trouble.

What doesn't help#

  • Logging out and back in, or another Claude account. The overload is across all users, and each account asks the same busy model. A different account rarely gets a different answer.
  • Buying extra usage. Usage credits pay for work past your plan's limit. A 529 isn't your limit, so they don't target it.
  • Resending in a tight loop. Claude Code's backoff already spaces the retries out. Sending faster by hand only adds to the queue.
  • Reinstalling Claude Code. Nothing on your machine is broken. If /doctor and /status look normal and the status page shows a capacity notice, it's the API.

How Shuriken handles a 529#

Shuriken runs your Claude Code chats on your own computers and servers, and a 529 at 2 am shouldn't leave a chat dead until morning. This is what it does:

  • More of Claude Code's own retries. Unless you set your own, Shuriken raises CLAUDE_CODE_MAX_RETRIES to 15, the most Claude Code honours without the watchdog. We leave the watchdog off on purpose: it would also retry a usage limit forever, and then the chat could never move on.
  • Then the chat pauses, it doesn't die. When Claude Code gives up, the chat shows "Paused: the API is overloaded. This continues on its own." The first retry stays on the same account, because moving a chat throws away its prompt cache.
  • Two tries elsewhere, then patience. If it's still overloaded, Shuriken tries another of your accounts, at most twice, then waits and tries again: 5 seconds, then doubling, up to a minute between tries. After about five hours it slows to every 5 minutes, and it never gives up. Another account usually meets the same busy model, so the waiting does most of the work; the moves are there because they cost little to try.

A 529 is different from running out. When an account reaches your switch point or a limit, source switching moves the chat to another of your accounts. And if every Claude sign-in and key you added is out, a Claude Code chat can go on, between turns, on an endpoint you added for Claude Code that serves another company's models, as long as the chat's history can be read there. Use only accounts you own and are entitled to use: providers' terms may not allow sharing a subscription sign-in. We wrote up the related case of a refused account separately.

If you'd like your chats to wait out an overload by themselves, download Shuriken.

Sources

  1. Error reference: Repeated 529 Overloaded errors, automatic retries (Claude Code docs) (accessed 22 October 2026)
  2. Claude API errors: 529 overloaded_error (Claude API docs) (accessed 22 October 2026)
  3. CLI reference: --fallback-model (Claude Code docs) (accessed 22 October 2026)
  4. Claude status page (accessed 22 October 2026)
  5. How Claude Code uses prompt caching: switching models (Claude Code docs) (accessed 22 October 2026)
  6. Model configuration: fallback model chains (Claude Code docs) (accessed 22 October 2026)

Frequently asked questions

Does a 529 error count against my Claude usage limit?

No. Anthropic's error reference says a 529 is not your usage limit and doesn't count against your quota. It means the API is at capacity for everyone.

How long does a 529 overloaded error last?

Usually minutes. Anthropic calls it usually temporary. If it keeps coming back, check status.claude.com for a capacity notice or an incident.

Is a 529 the same as a 429?

No. A 429 means you or your organisation reached a rate or usage limit. A 529 means the API as a whole is overloaded, whoever is asking.

Will switching to another Claude account fix a 529?

Rarely. The overload is shared by all users and tracked per model, so another account asks the same busy model. Switching model with /model is what Anthropic suggests.

Free tools