Claude Code enforces three limits on a subscription: a rolling five-hour session allowance, a weekly cap, and a separate weekly cap on Opus. Session and weekly limits are shared across all models, so switching models does not restore access. The Opus limit applies only to Opus requests, so /model plus Sonnet gets you working again immediately. None of them are message counts: all three track tokens, so model choice and context size drive consumption far more than session length. On an API key there are no usage windows at all, only per-minute throughput limits.
- Three limits: session (rolling five hours), weekly, and Opus. The message names which.
- Session and weekly are shared across models. Switching model does not restore access to them.
- The Opus limit is model-specific. Run
/model, pick Sonnet, keep working. No waiting. - Consumption tracks tokens, not messages. One large-repo turn can cost more than fifty short ones.
- Usage credits let you past the included allowance at standard API rates, with a cap you set.
- On the API there are no usage windows, only per-minute throughput. A 429 is a different problem.
Read the message first
Claude Code tells you exactly which limit you met. Everything that follows depends on which of these three you are looking at.
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
What each limit means and what actually clears it.
| Message | Scope | What it means | Fastest fix |
|---|---|---|---|
| Session limit | All models | You worked hard in a short period. | Wait until the stated time, or use credits. |
| Weekly limit | All models | Your whole week has been heavy. | Change the pattern, use credits, or wait for the date. |
| Opus limit | Opus requests only | You leaned on the biggest model. | /model, pick Sonnet. Back to work in seconds. |
| 429 rejected | API keys and cloud providers | Too many requests or tokens per minute. | Retry with backoff. Not a quota problem. |
Why the session window feels arbitrary
The session allowance is a rolling five-hour window, not a bucket that empties on the hour. Capacity returns as your older usage ages past the five-hour mark. Usage counts against the session and weekly allowances at the same time, so one burst of heavy activity, such as a large workflow fan-out, can exhaust the weekly allowance before the session window has even reset.
What actually consumes your allowance
Ranked by how much they move the number.
Consumption drivers, largest first.
| Driver | Effect | Under your control? |
|---|---|---|
| Model choice | Opus burns several times faster than Sonnet, and has its own cap | Yes, directly |
| Agent teams | Roughly 7x a standard session when teammates run in plan mode | Yes; off by default |
| Context size per turn | A 200k-token session costs that on every request | Yes, via /clear and /compact |
| Parallel sessions | Multiplies consumption by session count | Yes |
| Cache misses | A break past the cache lifetime reprocesses everything at full price | Partly, by not parking large sessions |
| Tool output volume | Command output becomes the next request input | Yes, by scoping commands and using hooks |
| Scheduled tasks | Fire on their interval even while the session is idle | Yes |
| Repo size | More to read before the agent can act | Partly, via naming files |
Almost everything on that list is under your control, which is the useful conclusion. People treat a usage limit as weather; it is mostly a consequence of how the session was set up.
What to do when you hit one
Read which limit it was
Session, weekly, or Opus. This determines everything that follows: one is four seconds of typing, one is a coffee break, and one is a change of plan.
If it says Opus, switch model
The Opus cap is model-specific and nothing else is blocked.
/model # pick Sonnet or Haiku
/usage # confirm the session and weekly bars still have room
If it is the session window, use the gap
Review what the agent already wrote. Its output almost always deserves more reading than it gets, and this is the moment you have for it. Then run /clear before you start again so the next session does not carry the context that got you here.
If it is the weekly cap, decide between credits and waiting
Usage credits let you continue at standard API rates with a monthly spending cap you set. Run /usage-credits: on Pro or Max it opens your billing settings, and on Team or Enterprise it sends a request to your admins. If the work can wait, dropping to Sonnet or Haiku for the rest of the week is usually enough on its own.
Then fix the cause
If you hit a weekly cap more than occasionally, the pattern is the problem, not the plan. Run /usage and read the attribution breakdown: it splits recent usage across skills, subagents, plugins, and individual MCP servers, and flags any behavior accounting for 10 percent or more. Press w for the last seven days.
The limits that are not usage limits
Two other messages get filed under "usage limit" by people who hit them, and neither is one.
Frequently mistaken for a quota.
| What you see | What it actually is | Fix |
|---|---|---|
| A context or auto-compact warning | The conversation is approaching the context window | /compact with instructions, or /clear |
| API Error: Request rejected (429) | Per-minute throughput on a key or cloud project | Retry with backoff; lower concurrency |
The context warning costs you nothing and is fixed by a slash command. The 429 is a throttle on an API key, Bedrock project, or Google Cloud project rather than a quota; Anthropic's guidance is to run /status first, because a stray ANTHROPIC_API_KEY in your environment routes what you thought was subscription work through a low-tier key. Reducing CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY and avoiding large parallel subagent fan-outs is the other half of the fix.
Questions people ask
The session limit is a rolling five-hour window and the message shows the clock time it resets. The weekly cap resets on a weekly cycle tied to your account and the message shows the day. The Opus cap has its own weekly reset. All three are visible at Settings then Usage on claude.ai and via /usage in the CLI.
There is no message count. Consumption tracks tokens, so one turn over a large repo on Opus can consume more than fifty short exchanges on Sonnet. A session that has been open for hours draws usage for the whole conversation on every request.
Only for the Opus limit. Session and weekly limits are shared across all models, so switching does nothing for them. The Opus limit applies to Opus requests only, so /model plus Sonnet or Haiku gets you working immediately.
Not a quota window. API keys have per-minute request and token throughput limits, which are a throttle rather than a cap. You pay for what you use with no weekly ceiling, which is why a key is the usual workaround for an exhausted week.
They are independent and count simultaneously. Steady heavy use across several days exhausts the weekly cap while every individual five-hour window stayed comfortable. One large workflow fan-out can also burn the weekly allowance before the session window resets.
Yes. Usage credits let Pro and Max subscribers continue past the included limit at standard API rates, with a monthly spending cap, optional auto-reload, and a $2,000 daily redemption limit. Run /usage-credits. On Team and Enterprise an admin has to enable them first.
A rate limit on your API key, Bedrock project, or Google Cloud project, not a subscription quota. Run /status to confirm which credential is active, then reduce concurrency, lower CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY, or request a higher tier from your provider.
No. A context or auto-compact warning means the conversation is approaching the context window and Claude Code will summarize older history to free space. It costs nothing and is cleared with /compact or /clear. A usage limit refuses requests entirely.
Sources
Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.