Guide · Claude Code
Claude Code rate limit and “overloaded” errors, explained
Some errors mean you’ve used your allowance. Others mean Anthropic is busy. A few mean your conversation is simply too big. Here’s how to tell them apart in about five seconds, and what to do about each one.
Last checked October 17, 2026. Error wording and limits change; the sources linked below are the final word.

The quick answer
Read the message for one clue: does it name a reset time, or a status page? A message with a reset time, like You've hit your session limit · resets 3:45pm, is your plan allowance. Wait, switch model family if it names Opus or Sonnet, or use usage credits. A message that points to status.claude.com, like Repeated 529 Overloaded errors or a 500, is Anthropic’s side. It doesn’t use up your quota. Wait a few minutes, check the status page, or switch models with /model. A 429 on an API key means your key or organization hit its rate or spend limit. Prompt is too long means the conversation is full: run /compact or /clear.
Which error is this?
The messages below are quoted from Claude Code’s own error reference and the Claude API docs. Your times and numbers will differ, and older Claude Code versions word some of them differently.
| What you see | Whose limit? | Uses your quota? | Do this now |
|---|---|---|---|
You've hit your session limit · resets … (or weekly, Opus, Sonnet) | Yours: your plan allowance | It’s used up | Wait for the reset, /model for Opus or Sonnet limits, or usage credits |
API Error: Repeated 529 Overloaded errors | Anthropic’s capacity | No | Wait a few minutes, check status, try another model |
Opus is experiencing high load… | Capacity on one model | No | /model and switch, as the message suggests |
Server is temporarily limiting requests (not your usage limit) | A short server-side throttle | No | Wait briefly and retry |
API Error: Request rejected (429) | Your API key, Bedrock or Google Cloud project | It’s your rate limit | /status to check the credential, reduce parallel work |
429 rate_limit_error (API) | Your organization’s rate limit or spend cap | It’s your limit | Honor retry-after; check the Console limits page |
API Error: 500 Internal server error / other 5xx | Anthropic, or a proxy in between | No | Wait a minute, retry, check status |
Request timed out / No response from API | Load or your network | No | Retry; if it repeats, look at your network or proxy |
Credit balance is too low | Your Console API credits | Prepaid credits are gone | Check /status for a stray API key, or add credits |
Context limit reached · /compact or /clear to continue | The model’s context window | No | /compact or /clear |
If you remember one row, make it the third column. Only the first row and the 429s mean you’ve actually spent something. Everything else is weather.
“You’ve hit your session limit” (Pro and Max)
Your limit
If you sign in to Claude Code with a Pro or Max plan, your usage comes out of a rolling allowance. When a window runs out, Claude Code’s error reference lists messages like these:
You've hit your session limit · resets 3:45pm
You've hit your weekly limit · resets Mon 12:00am
You've hit your Opus limit · resets 3:45pm
You've hit your Sonnet limit · resets 3:45pm
What it means: Claude Code blocks requests until the reset time in the message. The session and weekly limits apply across all models, so switching models doesn’t help. The Opus and Sonnet limits only cover that model family, so /model to something outside the family keeps you working. Usage counts against the session and weekly allowances at the same time, which is why one heavy afternoon can eat into your week.
What to do now:
- Run
/usageto see your windows and when each resets. - Wait for the time in the message. In an interactive session signed in with a claude.ai subscription, Claude Code can wait in the open session and continue the interrupted task shortly after the reset.
- For an Opus or Sonnet limit, switch with
/model. The docs note the next request re-reads the whole conversation without a cache, so expect it to cost a bit more. - Run
/usage-creditsto buy extra usage on Pro and Max, or to ask your admin on Team and Enterprise.
Before you run out, Claude Code can warn you with a line like You've used 85% of your session limit · resets 3:45pm. Our limit reached guide goes through every option in detail, and when does Claude Code reset? explains the windows. To work out the exact time in your timezone, try the reset time calculator.
The related spend-limit messages
If you use usage credits, a different message can appear once those credits hit their cap, such as You've hit your monthly spend limit · raise it at …. On Pro and Max you raise it in Settings → Usage on claude.ai or with /usage-credits. On Team and Enterprise an admin raises it. If the message also names a window reset time, you can simply wait for it.
529 Overloaded and “high load”
Anthropic’s capacity
In Claude Code it looks 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.
On the raw API, it’s HTTP 529 with the error type overloaded_error, which Anthropic’s API docs describe simply as “The API is temporarily overloaded.” It can happen when the API has high traffic across all users.
Is it your fault? No. Claude Code’s docs say plainly that a 529 is not your usage limit and doesn’t count against your quota. By the time you see the message, Claude Code has already retried several times.
What to do now:
- Check status.claude.com for capacity notices. (The old status.anthropic.com address redirects there.)
- Try again in a few minutes. Your original message is still in the conversation, so you can just type “try again”.
- Run
/modeland switch. Capacity is tracked per model, so a busy Opus doesn’t mean a busy Sonnet. Claude Code sometimes suggests this itself with a message likeOpus is experiencing high load, please use /model to switch to Sonnet.
How to avoid it: you can’t, really, since it’s about everyone’s traffic. What you can do is make it hurt less: keep a second model in mind for busy moments, and for unattended jobs let Claude Code wait longer (see retries below).
Worked example
You’re mid-refactor on Opus and get Repeated 529 Overloaded errors. Quotchi in your menu bar still shows plenty of session left, which confirms it isn’t your allowance. You glance at the status page, see a notice, switch to Sonnet with /model for the smaller edits, and go back to Opus an hour later. Nothing was spent by the failed attempts.
429 rate_limit_error and Request rejected (429)
Your key’s or organization’s limit
A 429 is the “slow down” code. Anthropic’s API docs say a 429 rate_limit_error means your organization hit a rate limit, reached its usage tier’s monthly spend cap, or reached a spend limit on the Claude Code workspace. In Claude Code on an API key, it shows up as:
API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.
Why it happens
- Per-minute limits. API rate limits are measured in requests per minute (RPM), input tokens per minute (ITPM) and output tokens per minute (OTPM), per model class, and depend on your usage tier. They use a token bucket that refills continuously rather than resetting on the minute, and a 60 RPM limit might be enforced as one request per second. Short bursts can trip it.
- Acceleration limits. A sharp jump in your organization’s usage can cause 429s. Anthropic recommends ramping up gradually.
- The tier spend cap. Each of the Start, Build and Scale tiers has a monthly cap. When you hit it, requests return 429 with no
retry-afterheader, and on the Messages APIerror.details.error_codeisenforced_spend_limit_reached. Retrying won’t help until access resumes or you move up a tier. - The wrong credential. On a Pro or Max plan, a stray
ANTHROPIC_API_KEYin your shell can quietly route Claude Code through a low-tier key instead of your subscription.
What to do now
- Run
/statusand confirm the active credential is the one you expect. - If the response has a
retry-afterheader, wait that many seconds. Theanthropic-ratelimit-*response headers show your limit, what’s left and when it refills. - Check the Rate limits page in the Claude Console (
platform.claude.com/usage/limits) for your tier, and use Request tier increase if you need more. - Reduce concurrency: fewer parallel subagents, or a lower
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY.
Two 429 lookalikes
API Error: Server is temporarily limiting requests (not your usage limit) is a short-lived server throttle unrelated to your plan quota. Claude Code tells it apart from a real limit because the response lacks your plan’s quota headers, and it retries it automatically. Wait briefly and try again.
A spend limit you set below your tier’s cap is different again: the API returns a 400 invalid_request_error starting “You have reached your specified API usage limits”. Raise or remove the limit in Console billing.
And if you use fast mode: it has its own rate limits. When you hit them, Claude Code falls back to standard speed, the ↯ icon turns gray during the cooldown, and fast mode switches back on when the cooldown ends.
500, 5xx and timeouts
Anthropic’s side, or the network in between
API Error: 500 Internal server error. This is a server-side issue, usually temporary — try again in a moment. If it persists, check https://status.claude.com.
The API docs call a 500 api_error: “An unexpected error has occurred internal to Anthropic’s systems.” Claude Code’s docs add that it isn’t caused by your prompt, settings or account. If a proxy or gateway answers instead, you’ll see its status and page title, for example API Error: 502 Bad Gateway. There is also a 504 timeout_error for requests that time out while processing.
What to do now: check status.claude.com, wait a minute, then send again. If it keeps happening and there’s no posted incident, run /feedback so Anthropic can look at your request.
Request timed out and No response from API
Request timed out means the API didn’t answer before the deadline. The default request timeout is 10 minutes, and it can happen under high load or with very large responses. API Error: No response from API means no response headers arrived in time, even after one retry. Retry first. If it keeps happening, it’s usually your network or a proxy that holds responses until they finish. Raising API_TIMEOUT_MS helps in that case.
“The response above may be incomplete”
If an error lands partway through Claude’s answer, Claude Code keeps what was already finished instead of re-running it, because re-running could repeat tool calls. You’ll see a note like Server error mid-response. The response above may be incomplete. Read what’s there and ask Claude to carry on.
“Capacity constraints” in the Claude app
Anthropic’s capacity
This one isn’t from Claude Code, but people search for it together. In the Claude apps, Anthropic’s help center lists this message:
Due to unexpected capacity constraints, Claude is unable to respond to your message. Please try again soon.
It means high demand across the whole system. The help center says it isn’t an outage and usually clears in a few minutes. One detail is easy to miss: capacity constraints don’t appear on the status page, because Anthropic treats them as normal load management. Real outages do. So if the status page is green and you see this, just wait and retry.
The Claude apps word usage limits differently too, for example “5-hour limit reached - resets [time]”. Same allowance as Claude Code, different wording: Anthropic says the limits are shared across Claude and Claude Code.
Prompt is too long and Request too large
Not a usage limit
These look scary but have nothing to do with your allowance. They’re about size.
Prompt is too long
The conversation plus attached files is bigger than the model’s context window. In an interactive session it reads:
Context limit reached · /compact or /clear to continue
Run /compact to summarize earlier turns, or /clear to start fresh. /context shows what’s filling the window: system prompt, tools, memory files and messages. If tool definitions are the culprit, disable MCP servers you aren’t using with /mcp disable <name>, and trim large CLAUDE.md files. Auto-compact is on by default and normally prevents this, so if you see it often, check that you haven’t turned it off in /config.
Request too large
The raw request went over the API’s 32 MB limit, usually because of images, attachments or huge pasted output. On the API this is 413 request_too_large. Claude Code’s message tells you whether /compact can fix it (it drops accumulated images and attachments) or whether you need to step back with Esc twice or /clear. Referencing big files by path instead of pasting them avoids it.
What Claude Code already retries for you
A lot of errors never reach you. Claude Code retries transient failures up to 10 times with exponential backoff before it shows anything. That covers server errors, overloaded responses, timeouts before the response starts, dropped connections and temporary 429 throttles. While it’s retrying, the spinner shows a countdown like Retrying in Ns · attempt x/y, and for a 529 it tells you where to check service status.
It deliberately does not retry a gateway spend-limit 429 or a TLS certificate failure, because retrying wouldn’t help.
You can tune it with environment variables from the docs:
| Variable | Default | Use it when |
|---|---|---|
CLAUDE_CODE_MAX_RETRIES | 10 | You want failures to surface faster in scripts (lower it) |
CLAUDE_CODE_RETRY_WATCHDOG=1 | unset | Unattended jobs such as CI should wait out 429 and 529 errors instead of failing |
API_TIMEOUT_MS | 600000 (10 min) | A slow network or proxy causes timeouts |
Some of these variables are newer than others, so check the retry section of the docs against your claude --version. If you call the API directly, Anthropic’s SDKs also retry connection errors, rate limits and 5xx errors with backoff, twice by default, and honor retry-after.
How to run into these less
You can’t prevent Anthropic’s busy days. You can stop surprising yourself with your own limits.
- Watch the allowance, not the error.
/usageshows your windows. The Claude Code status line can show therate_limitsfields all the time; our status line generator builds one for you, and this guide explains it. - Keep context lean.
/clearbetween unrelated tasks and/compacton long ones. Smaller context means fewer tokens per request, which helps both your plan allowance and API per-minute limits. - Go easy on fan-out. Many parallel subagents draw on your allowance at once and are the quickest way to a 429 on an API key.
- Use caching on the API. For most models, tokens read from the prompt cache don’t count toward your input-tokens-per-minute limit.
- Check your credential once. If you’re on a subscription, make sure no
ANTHROPIC_API_KEYis lurking in your shell profile. - Pick the right plan. If you hit your session limit every day, compare Max vs Pro, or see whether the API would be better value.
Quotchi keeps your Claude Code session and weekly limits, with reset times, in the Mac menu bar, next to Codex and Gemini. It nudges you at 80% and can tell you when a limit is back. When an error appears and Quotchi still shows room, you know it’s capacity, not you. It reads your plan windows, so it can’t predict a 529 or see an API key’s per-minute limits. Free and local-first.
Download FreeCommon mistakes and myths
- “Overloaded errors are eating my quota.”
- Claude Code’s docs say a 529 doesn’t count against your quota.
- “Switching models always gets me unstuck.”
- Only for overload or an Opus or Sonnet limit. Session and weekly limits apply across every model.
- “A 429 always means I’m out of plan usage.”
- On Claude Code it often means an API key is in use, or you’re running too much in parallel. Check
/status. - “The status page is green, so it must be me.”
- Normal capacity constraints don’t appear there. Green plus a capacity message just means busy.
- “Prompt is too long means I need a bigger plan.”
- It’s the context window, not your allowance.
/compactor/clearfixes it. - “Hammering retry gets me through faster.”
- Claude Code already retried with backoff. Waiting a few minutes, or switching models, works better.
What changed recently
As of October 17, 2026: Claude Code’s error reference uses status.claude.com in its messages, and status.anthropic.com redirects there. It now separates the plan-unrelated Server is temporarily limiting requests (not your usage limit) from real limits and retries it for subscription sign-ins too (since v2.1.199). Recent versions added the CLAUDE_CODE_RETRY_WATCHDOG and 529 backoff settings, and Claude Code can wait out a usage limit in an open session and then continue (since v2.1.234). Older versions word several messages differently.
Sources
Official pages we read on October 17, 2026. If anything here disagrees with them, they win.
- Claude Code docs: Error reference
- Claude Code docs: Troubleshooting
- Claude Code docs: Fast mode (handling rate limits)
- Claude API docs: Errors
- Claude API docs: Rate limits
- Claude Help Center: Troubleshoot Claude error messages
- Claude Help Center: Use Claude Code with your Pro or Max plan
- Claude Help Center: Usage credits for paid Claude plans
- Claude status page
FAQ
Does a 529 overloaded error count against my Claude usage limit?
No. Claude Code’s error reference says a 529 is not your usage limit and doesn’t count against your quota. It means the API is temporarily at capacity across all users.
What is the difference between a 429 and a 529 error?
A 429 rate_limit_error means your organization or key hit a limit, such as requests or tokens per minute, or a spend cap. A 529 overloaded_error means the API is temporarily overloaded for everyone. The first is about you; the second is about Anthropic’s capacity.
Will switching models fix a Claude Code error?
Sometimes. It helps with 529 overload, because capacity is tracked per model, and with an Opus or Sonnet limit. It doesn’t help with the session or weekly limit, which apply across all models.
Does Claude Code retry errors automatically?
Yes. It retries transient failures, including server errors, overloaded responses and temporary 429 throttles, up to 10 times with exponential backoff before showing the error. CLAUDE_CODE_MAX_RETRIES changes the count.
Why do I get a 429 in Claude Code when I have a Max plan?
Often because an ANTHROPIC_API_KEY in your environment routes requests through an API key instead of your subscription. Run /status to check which credential is active.
Where do I check if Claude is down?
status.claude.com (status.anthropic.com redirects there). Anthropic’s help center notes that normal capacity constraints in the Claude apps don’t appear on the status page.
What does “Prompt is too long” mean in Claude Code?
The conversation plus attached files is bigger than the model’s context window. Run /compact or /clear, and use /context to see what fills the window. It has nothing to do with your usage limit.
