Claude Code Error 529 “Overloaded”: What It Means and What to Do

Claude Code Error 529 “Overloaded”: What It Means and What to Do

If you see Claude Code error 529, it means the API is temporarily at capacity across all users, and your own setup is fine. Claude Code has already retried the request several times before it shows you the message.

The quick fix is to wait a few minutes and send your message again, check the status page, or run /model to switch to a different model. A 529 is not your usage limit and does not count against your quota. The rest of this guide explains each step, the settings that control retries, and how to tell a 529 from errors that look similar.

This is a help article in our Claude Code tutorials collection. It pairs well with our fix for Claude Code too long prompt errors.

Tested with Claude Code v2.1.310 on October 28, 2026, on macOS. We tested on macOS; the Windows and Linux steps follow Anthropic’s official instructions. We cannot safely trigger a real 529 on demand, so the error text and the fixes below come from the official Claude Code error reference, and the model picker is a real capture from our own session.

Quick Answer: Fix Claude Code Error 529

Here is the short version. Work down the list and stop when Claude Code responds again.

StepWhat to doWhy it helps
1Read the messageConfirm it says Repeated 529 Overloaded errors
2Check status.claude.comSee if Anthropic has posted a capacity notice
3Wait a few minutes, then resendCapacity usually frees up quickly
4Type “try again” instead of pastingYour original message is still in the conversation
5Run /model and pick another modelCapacity is tracked per model
6Run /feedback if it lasts with no posted incidentLets Anthropic investigate with your request details

A 529 means the service is busy for everyone. It is not about your prompt, your settings, or your quota.

What Claude Code Error 529 Means

The number 529 is an HTTP status code. It is the API’s way of saying “I am overloaded right now.” The full Claude Code message reads like this:

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.

The last sentence changes with your provider. If you use Amazon Bedrock, Google Cloud’s Agent Platform, or Microsoft Foundry, it names that provider’s status page. If you set a custom ANTHROPIC_BASE_URL, it names your gateway host.

The word “Repeated” matters. Claude Code does not show the error on the first 529. It retries first, and you only see this message after the retries ran out.

Why Claude Code Retries Before You See It

According to the official docs, Claude Code retries transient failures up to 10 times with exponential backoff before showing you an error. Exponential backoff just means the wait between tries gets longer each time, so a busy server is not hit again and again.

Claude Code docs page showing the Automatic retries section, highlighting that it retries up to 10 times with exponential backoff
The official docs say Claude Code retries up to 10 times with exponential backoff before it shows an error

Overloaded responses are on the list of failures that Claude Code retries. So when you finally see the 529 message, the tool already did the obvious fix for you. That is why simply hitting enter again right away often fails too.

Diagram showing a prompt reaching the API, a 529 answer, repeated retries, and the final Repeated 529 Overloaded errors message
The path from your prompt to the 529 message: you only see it after every retry fails

Is a 529 Your Usage Limit?

No. This is the most common mix-up. The docs say it plainly: a 529 is not your usage limit and does not count against your quota.

Your plan limit is a different message, such as “You’ve hit your session limit.” That one is about you. A 529 is about the service being busy for everyone. You cannot fix a 529 by upgrading your plan, and you do not lose any allowance when it happens.

Claude Code docs section for Repeated 529 Overloaded errors with the line saying a 529 is not your usage limit highlighted
The docs confirm a 529 does not count against your quota

If you want to check your real limits anyway, our guide to Claude Code costs explains how usage is measured.

Step 1: Check the Status Page

Open status.claude.com in your browser. If there is an active incident or a capacity notice, you have your answer: nothing is wrong on your side and you only need to wait.

If you use a cloud provider, check that provider’s status page instead. The error message itself tells you which page to open.

Step 2: Wait, Then Resend Without Pasting

The docs suggest trying again in a few minutes. Overload is usually short lived.

You do not need to paste a long prompt again. Your original message is still in the conversation, so you can type “try again” and Claude Code carries on with the same request. This saves time when the first prompt was long.

Step 3: Switch Models With /model

Capacity is tracked per model, so one model can be busy while another is fine. The official fix is to run /model and switch to a different model to keep working.

Claude Code may even suggest this for you when one model is under heavy load. The docs give this example: “Opus is experiencing high load, please use /model to switch to Sonnet.” On Fable models the message names Fable instead.

Claude Code docs bullet explaining that capacity is tracked per model and showing the Opus high load message
Capacity is tracked per model, so a different model may still respond

Here is the real picker from our own session. Type /model, then use the arrow keys or the number of the model you want. Press Enter to set it as your default, or press s to use it for this session only.

Real Claude Code terminal showing the Select model list with several Claude models and the list highlighted
The /model picker in Claude Code v2.1.310 lists the models you can switch to

The list you see depends on your plan and version, so yours may differ from ours. Each model also keeps its own prompt cache, so after a switch the next request re-reads the whole conversation, which can feel slower once.

For more commands like this, see our slash commands guide.

If you use the Claude Desktop app, such as the Code tab, the message reads “Opus is experiencing high load. Switch to Sonnet.” and you switch with the app’s model picker instead of typing /model.

Step 4: Report It If It Will Not Go Away

The docs recommend running /feedback if the error lasts and Anthropic has posted no incident. That sends your request details so the team can investigate. If /feedback is not available in your setup, the docs have a “Report an error” section that explains the alternatives.

Tune How Claude Code Retries

You can change the retry behavior with environment variables. Most people never need to, but they help in scripts and unattended runs. These values come straight from the official reference.

VariableDefaultWhat it does
CLAUDE_CODE_MAX_RETRIES10How many retry attempts Claude Code makes
CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS500Starting delay of the backoff for 529 errors, up to 32000
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS32000Ceiling on the 529 backoff, up to 64000
CLAUDE_CODE_RETRY_WATCHDOGunsetSet to 1 in unattended sessions such as CI to retry 429 and 529 errors indefinitely
CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MSunsetMaximum time each request waits out 429 and 529 errors with the watchdog on
Claude Code docs table row for CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS with a default of 500 highlighted
The docs table for the 529 backoff settings

A few notes from the docs. The two overloaded delay settings need Claude Code v2.1.292 and v2.1.296 or later, and they have no effect when the watchdog is set to 1 or when the request was sent in fast mode. Raising the delays spreads your retries over a longer window when the API is at capacity.

The watchdog is meant for jobs nobody is watching. Without it, a CI job fails after the retry limit. With it, the job keeps waiting.

Claude Code still fails at once when a standard-speed request gets a 429 that reports a spend limit or used-up usage credits.

Here is how you might set a gentler backoff for one session on macOS or Linux:

export CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS=2000
claude

To keep an unattended script alive through a long busy period, you could use this instead:

export CLAUDE_CODE_RETRY_WATCHDOG=1
claude -p "your task here"

Use the watchdog with care. A job that retries forever can sit waiting for hours, so pair it with a time limit such as the max wait setting above.

529 vs 429 vs 500: Which Error Is It?

Three errors look alike but mean different things. Reading the first words of the message tells you which one you have.

Decision ladder comparing a 529 overloaded error, a session limit or 429, and a 500 internal server error with the next move for each
Read the message, then follow the matching row
MessageMeaningWhat to do
Repeated 529 Overloaded errorsThe API is at capacity for everyoneWait, check status, or switch model
Server is temporarily limiting requestsA short throttle, unrelated to your plan quotaWait briefly and try again
You’ve hit your session limitYou used your plan allowanceRun /usage and wait for the reset
500 Internal server errorAn unexpected failure inside the APIWait a minute, then resend

The throttle message is the closest cousin of a 529. Claude Code tells it apart from your plan limit because a real limit response carries quota headers and a throttle does not. As of v2.1.199 it is retried automatically with backoff before you see it.

Claude Code docs section for Server is temporarily limiting requests, described as a short-lived throttle unrelated to plan quota
A temporary throttle is a separate message from a 529 and is also not your usage limit

A 500 error is also a server-side problem. The docs say a 5xx from the API is not caused by your prompt, settings, or account.

Other Reasons It Can Look Like a 529

If the error repeats for a long time and the status page is quiet, think about your own path to the API.

  • A gateway or proxy in front of Claude Code may be adding its own errors. If you set ANTHROPIC_BASE_URL, check the gateway host named in the message.
  • A slow network can cause “Request timed out,” which is a different message. The default request timeout is 10 minutes, and API_TIMEOUT_MS controls it.
  • An old Claude Code version may handle retries less well. Run claude update to get the latest fixes, and see our doctor guide to check your setup.

If your session also feels slow or bloated, a full conversation can make every request heavier. Our guide to the context window explains how to keep it lean.

How To Make a 529 Hurt Less

You cannot stop Anthropic’s servers from getting busy, but you can lose less work when they do.

  • Keep prompts short so “try again” is all you ever need to type.
  • Know your fallback model before you need it. Check the /model list once when things are calm.
  • Do not stack many parallel jobs when the service is busy. Our guide to Claude Code subagents shows how parallel work multiplies requests.
  • For scheduled jobs, set the retry watchdog and a max wait so they ride out short busy periods.

Claude Code also keeps partial work in some cases. The docs explain that if a server error arrives after Claude has already completed a block of text or a tool call, Claude Code does not re-run the request, because that could run the same tool calls twice. It keeps what was completed and shows “The response above may be incomplete.”

Try It Yourself

You cannot cause a real 529, but you can prepare so the next one is a small bump. Open a throwaway folder and practice the fallback.

  1. Start Claude Code in a test folder.
  2. Type /model and note which models are listed.
  3. Press Esc to leave without changing anything.
  4. Check that you can find status.claude.com in your bookmarks.

Then try this prompt to confirm your retry settings are in effect:

Run: echo $CLAUDE_CODE_MAX_RETRIES $CLAUDE_CODE_RETRY_WATCHDOG

Blank output means you are on the defaults, which is 10 retries.

Common Mistakes

  • Upgrading your plan to fix a 529. It is a capacity problem, not a quota problem, so a bigger plan does not help.
  • Hammering Enter. Claude Code already retried up to 10 times, so wait a few minutes instead.
  • Pasting the whole prompt again. Typing “try again” is enough because the message is still there.
  • Confusing it with a session limit. Check the first words of the message before you act.
  • Turning on the retry watchdog in a live session. It is meant for unattended jobs.

Pro Tips

  • Press s in the /model picker to switch for this session only, so your default stays the same.
  • Raise the overloaded backoff delays if your scripts hit 529 often, so the retries spread out.
  • Add a max wait with the watchdog so a job cannot hang for hours.
  • Run /feedback when an error lasts with no posted incident. It gives Anthropic your request details.

Cheat Sheet

Cheat sheet card listing what to do for a Claude Code 529 error and the retry settings with their defaults
Save this card for the next time the API is busy

Frequently Asked Questions

What does Claude Code error 529 mean?

It means the API is temporarily at capacity across all users. Claude Code retried several times and then showed the message. It is not caused by your prompt or settings.

Does a 529 use up my usage limit?

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

How long does a 529 last?

The docs call it usually temporary and suggest trying again in a few minutes. If it lasts and Anthropic has posted no incident, run /feedback.

Can I switch models to get around it?

Often yes. Capacity is tracked per model, so run /model and pick a different one. Claude Code may suggest this itself when one model is under heavy load.

How many times does Claude Code retry?

Up to 10 times by default, with exponential backoff. You can change this with CLAUDE_CODE_MAX_RETRIES, or turn on CLAUDE_CODE_RETRY_WATCHDOG for unattended runs.

Conclusion

Claude Code error 529 means the API is busy for everyone, not that you did anything wrong, and it never counts against your quota. Check the status page, wait a few minutes, type “try again” instead of pasting, and use /model to switch to another model if you need to keep going. For scripts, tune the retry settings or use the watchdog. Browse all our Claude Code tutorials for more fixes, and learn more about the assistant on our Claude AI page. For the full list of errors, see the official official error reference.

Newsletter

New AI tools in your inbox

The best new tools and the AI news that matters, in one short email. Unsubscribe any time.

Free · No spam · Unsubscribe any time

✓ Looks like you’re subscribed

Loading Google’s sign-up form…

Looks like you’re already subscribed

Thanks for reading! New AI tools and the AI news that matters will land in your inbox.

Not subscribed yet? Refresh the page to load the sign-up form.

The sign-up form couldn’t load. If you use an ad or content blocker, allow news.google.com and reload the page.

Free instant check before you pay. Takes a few seconds.

Scroll to Top