GrepBoard/Manuals
51 manuals ·

Claude Code 429 and Rate Limit Errors: Usage Limit or Outage?

·Claude Code official docs · 2026-10 (installed version 2.1.302)·7 steps

Tell a usage limit from a throttle, a key problem or an outage by the exact message: `Request rejected (429)`, `You've hit your session limit` and more.

API Error: Request rejected (429) and You've hit your weekly limit both look like "you used too much", but the causes and fixes differ. Start with the message text.

[1] Find your message in the table. The wording is quoted from the official Error reference.

MessageCausePlan usage limit?
You've hit your session limit · resets 3:45pmSession limit on a subscriptionYes
You've hit your weekly limit · resets Mon 12:00amWeekly limit on a subscriptionYes
You've hit your Opus limit · Sonnet limitLimit for that model family onlyYes
API Error: Server is temporarily limiting requests (not your usage limit)Short server-side throttleNo
API Error: Request rejected (429) · …Rate limit on your API key or cloud project, or a 429 from a proxy in betweenNot the subscription limit
API Error: Usage credits required for 1M context · …Entitlement for 1M contextNo
API Error: Repeated 529 Overloaded errorsAPI at capacityNo (not counted against quota)

[2] Check service status first. If status.claude.com shows an active incident, Rate limit reached, 429 and 529 may have nothing to do with your setup. Wait, or switch with /model (capacity is tracked per model).

[3] On a subscription, run /usage to see your limits and reset times. Session and weekly limits are shared by all models, so switching models doesn't lift them. Your options:

  • Wait for the reset time in the message. From v2.1.234, an open interactive session waits and continues the task after the reset, showing Continuing automatically at 3:45pm · esc to cancel.
  • Run /usage-credits to buy extra usage (Pro, Max) or request it from your admin (Team, Enterprise).
  • Run /rate-limit-options to see these choices on one screen.
  • An Opus or Sonnet limit blocks only that family. Switch to another family with /model. Each model has its own prompt cache, so the first request after switching re-reads the whole conversation.

[4] Request rejected (429) is not the subscription limit. Run /status and confirm the active credential is the one you expect. The docs note that a stray ANTHROPIC_API_KEY in the environment can send requests through a low-tier key instead of your subscription.

console
$ env | grep -c ANTHROPIC_API_KEY$ unset ANTHROPIC_API_KEY

If the key is right, check the active limits in your provider console. With heavy parallel work, reduce concurrency: lower CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, avoid running many subagents at once, and use a smaller model via /model for high-volume scripted runs.

[5] Usage credits required for 1M context appears even when you have quota left, because your plan includes 1M context only through usage credits.

  • Pick a model without the [1m] suffix in /model.
  • If you turned credits on, restart Claude Code.
  • If it persists, a [1m] model ID is set somewhere in your configuration. To hide 1M variants entirely, set CLAUDE_CODE_DISABLE_1M_CONTEXT=1.
  • If it appeared because the conversation passed 200K tokens, v2.1.172 and later compact automatically and stay at the standard limit. Nothing to do.

[6] If you were using fast mode, it has its own limit separate from standard Opus. When you hit it, fast mode falls back to standard speed (the ↯ icon turns gray) and turns itself back on after the cooldown. It isn't an error, so you don't need to run /fast to turn it off.

[7] If the same 429 keeps coming back, search the GitHub issues before filing. An issue that only quoted the message (#48191, Request rejected (429) · Rate limited) was closed as inactive with no cause found. Include your version, auth method (subscription, API key or cloud), the /status result, and when it happened.

For other error messages, see Claude Code errors by message.

#claude-code#rate-limit#troubleshooting