A usage or rate limit message in Claude Code means your account spent its allowance, not that anything broke. On a subscription you wait for the named reset, switch model family if the limit is model-specific, or turn on usage credits; on an API key it is a per-token rate limit. Here is what each means and how to resume.
1. Read which limit you hit
You've hit your session limit
A session or weekly limit is seat-based and shared across every model, so switching models will not help; the message names its reset time.
You've hit your Opus limit
A model-specific limit is different: another family keeps working.
2. Wait or auto-resume after reset
/rate-limit-options
Open this to have Claude Code resume the interrupted task automatically after the reset, or wait until the time it named.
3. Switch model for a per-model limit
/model sonnet
For an Opus or Sonnet limit, switch family and keep going.
4. Shrink context to spend less
/compact
Compact the conversation to cut the tokens each turn sends, or run /clear to start fresh; see
manage context.
5. Subscription vs API-key billing
/usage
On a subscription, usage draws from a per-seat allowance that resets on a rolling session window
and a weekly window; /usage-credits requests more when credits are on. On an API key, every token
is billed and you hit per-token rate limits instead. Anthropic does not publish fixed numbers and
they change, so check current limits on the
pricing page and in usage limits.
Verify it worked
Run /usage and confirm your plan bars are below the limit, or send a prompt and confirm it runs.
If it fails:
- The limit returns right after the reset — a long session reprocesses its whole context;
/clearbetween tasks. Unknown command: /usage-credits— your Claude Code is too old; runclaude update.- Switching models changes nothing — you hit a session or weekly limit, not a model limit; wait for the reset. The official cost and limit docs cover each case.