Usage limits
Most errors in this section mean a quota tied to your account or plan has been reached. Three work differently: Server is temporarily limiting requests is a server-side throttle unrelated to your plan quota, Usage credits required for 1M context is an entitlement check rather than an exhausted quota, and The prompt to confirm went unanswered means a usage-credits consent prompt closed unanswered, whether or not a quota was reached.
You've hit your session limit
Subscription plans include a rolling usage allowance. When it runs out you see one of these messages:
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:45pmClaude Code blocks further requests until the reset time shown in the message. The session and weekly limits are shared across all models, so switching models doesn't restore access. The Opus and Sonnet limits each apply only to requests to that model family, so switching to a model outside the family with /model keeps you working.
In an interactive session signed in with a claude.ai subscription, Claude Code can also wait in the open session and continue the interrupted task shortly after the reset. While it waits, a line at the bottom of the session reads Usage limit reached · continuing automatically at 3:45pm · esc to cancel. Press Esc at an empty prompt to cancel the wait. See Wait for a usage limit to reset for what you see, how to start or cancel a wait, and how to turn automatic continue off. Before v2.1.234, Claude Code didn't offer this wait.
Usage counts against the session and weekly allowances at the same time. A single burst of heavy activity, such as a large workflow fanout, can exhaust the weekly allowance before the session window resets.
What to do:
- Wait for the reset time shown in the error
- In the Code tab of the Desktop app, the session-limit card offers an Auto-continue when limits reset checkbox. The weekly-limit card doesn't. When it's checked, the Desktop app retries the interrupted turn after the reset and shows the retry time on the card. The Desktop checkbox and the CLI's Continue automatically at usage limit setting in
/configare separate, so turn each off on its own. - For the Opus or Sonnet limit, run
/modeland switch to a model outside that family to keep working. Each model has its own prompt cache, so the next request re-reads the whole conversation with no cache hits; see Switching models - Run
/usageto see your plan limits and when they reset - Run
/usage-creditsto buy additional usage on Pro and Max, or to request it from your admin on Team and Enterprise. See usage credits for paid plans for how this is billed. - To upgrade your plan for higher base limits, see claude.com/pricing
To watch your remaining allowance before you hit the limit, add the rate_limits fields to a custom status line, or in the Desktop app click the usage ring next to the model picker.
Usage credits required for 1M context
The selected model uses the 1M-token extended context window, and your plan only includes it through usage credits.
API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard contextThis is an entitlement check, not a quota exhaustion. It fires even when your session and weekly allowances have capacity remaining. See Extended context for which plans include 1M context directly and which require usage credits. Claude Code runs this check when you pick the model with /model, and only on a direct connection to the Anthropic API; if you point ANTHROPIC_BASE_URL at an LLM gateway, /model allows the [1m] selection and the gateway decides whether the request succeeds.
When this error appears mid-conversation because the context grew past 200K tokens, Claude Code automatically compacts the conversation back under the standard context limit and keeps the session at that limit afterward, so no action is needed. On versions before v2.1.172, the error repeated on every subsequent request including /compact; run /clear on those versions to recover. The steps below apply when you explicitly selected a [1m] model.
What to do:
- Run
/modeland select the variant without the[1m]suffix to fall back to the standard context window - Where the message names
/usage-credits, run it to turn on metered billing for the 1M variant on Pro and Max, or to request usage credits from your admin on Team and Enterprise - If the error persists after
/model, a 1M model ID may be set elsewhere. See Setting your model for the configuration locations to check in priority order. - To remove 1M variants from the model picker entirely, set
CLAUDE_CODE_DISABLE_1M_CONTEXT=1
The prompt to confirm went unanswered
If your account requires the Fable usage-credits consent, Claude Code asks you to confirm before a Fable request bills usage credits. When nobody answers that consent prompt in a session that may have no one at its terminal, Claude Code closes the prompt and ends the turn with one of these messages:
Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change
Fable 5.1 now uses usage credits · the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to changeThe messages name the session's Fable model, so on Fable 5 they read continuing on Fable 5 and Fable 5 now uses usage credits. Before v2.1.257, the first message began Fable 5 limit reached.
This happens in Remote Control sessions, background sessions, and agent team teammate sessions. Claude Code shows the consent prompt only in the session's own interactive view: the terminal where it runs, or, for a background session, the agents view once you attach. A Remote Control client can't display it. Claude Code closes the prompt at the dialogExpiry deadline, five minutes by default, or as soon as a new prompt arrives while nobody has typed at that terminal, such as a prompt sent from a Remote Control client. Typing at the terminal where the session runs cancels the deadline, and Claude Code waits for your answer. In a background session's attached view, typing doesn't cancel the deadline, and a new prompt still closes the consent prompt, so answer before either happens. Claude Code sends nothing and keeps your model, so when you send your next prompt, Claude Code shows the consent prompt again.
What to do:
- At the terminal where the session runs, send another prompt and answer the consent prompt when it reappears. For a background session, attach to it from the agents view first. Resending from a Remote Control client shows this message again, because the client can't display the prompt.
- Run
/modelto switch to a model that doesn't bill usage credits - To give yourself more time to reach that terminal, set
dialogExpiryto a longer value or"never"
Before v2.1.236, this message didn't appear: while a Remote Control client was connected, Claude Code waited 60 seconds for an answer and then continued the turn on your default model.
Server is temporarily limiting requests
The API applied a short-lived throttle that is unrelated to your plan quota.
API Error: Server is temporarily limiting requests (not your usage limit)Claude Code tells these apart from your plan limit by the absence of the unified quota headers a real limit response carries. As of v2.1.199 this is retried automatically with backoff before being shown, whichever way you authenticate. On earlier versions, a session signed in with a claude.ai subscription failed the turn on the first occurrence; only API key and Enterprise sign-ins retried it.
What to do:
- Wait briefly and try again
- Check status.claude.com if it persists
Request rejected (429)
You have hit the rate limit configured for your API key, Amazon Bedrock project, or Google Cloud project.
API Error: Request rejected (429) · this may be a temporary capacity issue. If it persists, check https://status.claude.com.The trailing sentence names where to check service health and varies by provider. Amazon Bedrock, Google Cloud's Agent Platform, and Microsoft Foundry configurations name that provider's service status instead of the Anthropic status page. A custom ANTHROPIC_BASE_URL names the gateway host.
What to do:
- Run
/statusand confirm the active credential is the one you expect. A strayANTHROPIC_API_KEYin your environment can route requests through a low-tier key instead of your subscription. - Check your provider console for the active limits and request a higher tier if needed
- For Anthropic API keys, see the rate limits reference for how tiers work and how to set per-workspace caps
- Reduce concurrency: lower
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, avoid running many parallel subagents, or switch to a smaller model with/modelfor high-volume scripted runs
Spend limit reached
You connect through a Claude apps gateway and have passed a spend cap your gateway operator set. The gateway blocks your requests until the named period resets or the operator raises the cap. It marks each blocked 429 response x-should-retry: false, so Claude Code shows this message without retrying.
spend limit reached (daily; resets 2026-08-09 00:00 UTC)The message names the cap's period and reset time, and when the operator configured a blocked_message, their instructions follow it. Before v2.1.225, the message read only spend limit reached; a gateway on an older version still sends that shorter form.
What to do:
- Wait for the reset time the message names, or follow the operator's instructions if the message carries them
- Ask your gateway operator to raise the cap if you hit it routinely
A related message, spend limit unavailable, means the gateway could not read its spend records and blocked the request as a precaution rather than over your cap. It usually clears on its own; if it persists, tell your gateway operator.
Credit balance is too low
Your Console organization has run out of prepaid credits, or Claude Code is sending your requests with a Console API key when you meant to use your subscription.
Credit balance is too lowWhat to do:
- If you have a Pro, Max, Team, or Enterprise plan and see this, run
/statusand check theAPI keyrow. An approvedANTHROPIC_API_KEYin your environment routes requests through that key instead of your subscription. Unset it in the current shell and remove it from your shell profile, then relaunchclaude. Run/loginif you haven't signed in with your subscription yet. - Add credits at platform.claude.com/settings/billing, and consider enabling auto-reload there so the balance refills before it hits zero
- Set per-workspace spend caps in the Console to prevent a single project from draining the org balance. See Manage costs effectively.
Could not update your spend limit
The server rejected a spend limit change you made from the prompt that appears when you reach your spend limit.
Could not update your spend limit: <reason from the server>When the server explains the rejection, the message ends with that reason, and retrying the same value fails again. When the failure has no server-provided reason, such as a dropped connection, the message reads Could not update your spend limit. Press Enter to retry. and retrying can succeed. Before v2.1.216, Claude Code showed the generic form for every failure.
What to do:
- If the message includes a reason, choose a limit that satisfies it, such as a lower amount
- If the message shows only the generic form, retry; the failure may be transient
- If the change keeps failing, make it from your claude.ai billing settings in the browser instead