← the writing notes 9 min

Claude Code Usage Limits: Session Caps, Weekly Limits and Options

Claude Code enforces two overlapping limits simultaneously: a rolling 5-hour session cap and a separate weekly quota. Both share one pool across every surface. Here's how to read which one you've hit and what your actual options are.

Blueprint line-art of two nested gauge dials connected by pipes, representing overlapping usage limit windows.

Claude Code runs two usage meters at the same time, and most people who get cut off mid-task only know about one of them. There's a rolling five-hour session window for short bursts, and a separate weekly cap that applies across every model and every surface. The two can fire independently, which is why the behaviour feels unpredictable. This post covers how to tell which limit you've hit, what drains usage faster than you'd expect, and what your realistic options are when work stops.

Which Limit Did You Actually Hit?

This is the first question to answer, because the fix is completely different depending on the answer.

When the five-hour session window runs out, Claude Code will tell you to wait and give you a rough time until the window rolls forward. When the weekly cap fires, the message is different: you've reached your usage limit for the period, and waiting a few hours won't fix it.

The most reliable way to tell them apart is to check Settings → Usage in the web app. That view shows progress bars for both the session window and the weekly limit, and it's the only one that pulls in usage from all your devices. The /status command inside Claude Code also surfaces warnings as you approach either wall, and /usage gives you a more detailed breakdown (with d / w to flip between 24-hour and 7-day views). One important caveat from bestagent.dev's breakdown: the in-CLI figures are "computed from local session history on this machine," so they won't reflect what you did on a different machine or via claude.ai.

Quick triage:

  • Message says to wait a few hours: almost certainly the 5-hour session window
  • Message references your usage limit with no short-wait offer: likely the weekly cap
  • You're on Max 5x or Max 20x and hitting limits quickly: check whether the Sonnet-only weekly sub-cap is the culprit (Max plans carry two weekly caps, not one)

Session and Weekly Windows: How They Actually Work

The five-hour window is rolling, not fixed to a clock. It starts with your first message and resets five hours later, regardless of what time you began. So if you send your first message at 2:47 p.m., your window resets at 7:47 p.m., not at 8 p.m.

The weekly cap works on the same rolling logic, according to Tokens for Good's 2026 guide: it resets roughly seven days after the first message of your current cycle, not on a fixed calendar day. Your personal reset day depends on when you started, not on a shared Monday midnight.

Neither limit rolls over. Unused headroom disappears at reset. It doesn't accumulate.

Here's the plan comparison, based on documented multipliers and Anthropic's own positioning:

PlanPriceSession allowanceWeekly caps
Free$0Baseline1 (all models)
Pro$20/mo~5x Free1 (all models)
Max 5x$100/mo5x Pro2 (all models + Sonnet-only)
Max 20x$200/mo20x Pro2 (all models + Sonnet-only)
Team Premium$100/seat/mo (annual)~6.25x Pro2 (all models + Sonnet-only)

That Team Premium number is the least-discussed figure in the lineup. At the same sticker price as Max 5x, a Team Premium seat actually sits above Max 5x on session usage, with overflow managed by your admin rather than self-serve. Worth knowing if you're buying seats for a team anyway.

One myth worth dispelling: TokenMix's April 2026 research explicitly flags that "Max 5x and Max 20x are simply unlimited Claude" is false. Max expands usage, but session, weekly, and model limits still apply at Anthropic's discretion. It's a larger pool, not a bottomless one.

What Changes Your Usage Consumption

Usage isn't counted in raw messages. The real driver is compute weight per request.

Things that burn faster than you'd expect:

  • Extended thinking mode. When Claude reasons through a problem step by step before responding, that reasoning costs tokens even if you never see all of it.
  • MCP connectors. Multiple active connectors multiply tool calls. Each tool call adds to the compute bill for that session.
  • Heavy file reads. A short prompt that triggers reading a large codebase can consume far more than a long conversational prompt.
  • Model choice. Opus-class models draw down the session budget much faster than Sonnet. If you're running Opus for tasks that Sonnet handles fine, you're burning session budget unnecessarily.
  • Subagents and parallel sessions. Running multiple Claude Code sessions concurrently compounds burn rate across both windows.

And the detail that catches people off-guard: all of this counts against one shared pool. Claude.ai conversations, Claude Desktop, and the CLI all draw from the same plan allowance. Felloai's breakdown puts it plainly: Anthropic no longer publishes message counts for any plan, which is why numbers floating around online rarely match what you actually experience.

Peak hours add another layer. Free, Pro, and Max subscribers all burn through the five-hour window faster on weekdays between 5 a.m. and 11 a.m. PT (1 p.m. to 7 p.m. GMT). Same task, same model, faster drain. If you're in London doing heavy Claude Code work in the afternoon, you're hitting that window at its worst.

What to Do When Work Is Blocked

Here's a decision tree for when you've just hit a wall mid-task.

Blueprint line-art decision tree of nodes and pipes with valve symbols, representing a troubleshooting flow for limit types.
  1. Check which limit fired. Settings → Usage in the web app. Don't guess.
  2. If it's the 5-hour session window: wait for the rolling reset, or switch to a lighter model for lower-priority tasks while you wait.
  3. If it's the weekly cap: you have four real options: wait for your personal weekly reset, enable extra usage credits if your plan supports it, upgrade to a higher tier, or route the work to the Claude API directly.
  4. If you're on Max and hitting limits frequently: review whether Sonnet-heavy workflows are also bumping the Sonnet-only sub-cap. The all-models cap and the Sonnet-only cap are independent.
  5. If you're running an agency workflow with sustained volume: the subscription model may simply be the wrong tool. The API has no five-hour session window.

For agency-scale workflows where hitting these limits is a recurring operational problem rather than an occasional annoyance, it's worth reading how other teams structure their Claude Code usage at scale: our Claude Code agency guide covers the architectural decisions that change when you're running this for clients rather than yourself.

On the batching side: Anthropic doubled the five-hour rolling session limits for paid plans earlier this year, according to Geeky Gadgets' coverage of the update. Weekly caps were not changed at that time. A temporary 50% weekly usage boost that ran alongside the rollout ended 19 July. So the current state is: longer sessions, same weekly ceiling.

Subscription Limits Versus API Rate Limits

These are genuinely different systems and it's worth being clear about what each one controls.

Subscription limits (Pro, Max, Team) are the five-hour and weekly caps described above. They apply to everything you do via claude.ai, Claude Desktop, and the Claude Code CLI under a subscription account. They're usage-based in a weighted sense: model, context, features, and tool calls all affect how fast you burn through them. Anthropic adjusts these allowances as demand grows and doesn't publish exact token counts.

API rate limits are different in structure. They're per-minute token limits and concurrent request caps set at the account level. There's no five-hour rolling window. You can hit a per-minute rate limit and be fine again 60 seconds later. Spend limits add a financial ceiling on top. The API is designed for production routing where you need programmatic control over when you throttle versus when you pay for more.

The practical implication: if you're building a tool or running automated tasks, the API is the right surface. Not because it's cheaper necessarily (the Claude Code cost breakdown is a separate question), but because the quota behaviour is predictable and recoverable programmatically. Subscription limits were designed for human-paced interactive use.

Reset Options and Availability

The honest answer is that reset options are limited.

What definitely works:

  1. Wait for the 5-hour session window to roll forward
  2. Wait for your personal weekly cycle to reset (seven days from first message of the cycle)
  3. Enable extra usage credits if available on your plan (this extends headroom but doesn't reset the window)
  4. Upgrade your plan tier (higher multiplier on the same window structure)
  5. Route overflow work to the API (no session window, separate rate limits)

One thing worth flagging directly: the Claude Code commands reference checked on September 4 did not list a /limit-reset command. Absence from the reference isn't proof the feature doesn't exist, but there's no official release note or support documentation confirming it as available either. Until there is, don't plan your workflow around it.

The extra usage credits option is the fastest self-serve lever if you're mid-week and blocked. It doesn't reset your window, it extends how much you can use within it. Think of it as buying a bit more headroom rather than starting fresh.

What doesn't help: switching models within the same session after you've already hit the weekly cap. The cap covers all models. Switching from Opus to Sonnet when you've burned through the weekly all-models cap won't get you back in; you'd need to check whether the Sonnet-only cap has separate remaining headroom on Max plans.

FAQ

Does claude.ai usage count against Claude Code limits?

Yes. The two run off the same plan allowance. A long research session on claude.ai in the morning will reduce what's available to Claude Code in the afternoon. The web Settings → Usage view is the only place to see the combined picture across devices and surfaces.

Can I have separate usage budgets for Claude Code and claude.ai?

Not on subscription plans. Pro and Max give you one shared pool. The only way to separate them operationally is to route Claude Code tasks through the API under a different account, which has its own rate limits and billing.

What happens to unused weekly quota?

Nothing useful. It doesn't roll over, accumulate, or carry forward. The weekly cap refills to the same level at reset regardless of how much you used. Partially burning through a week doesn't earn you extra headroom the following week.

Is there a way to monitor usage before hitting the wall?

Yes. /status in the CLI shows remaining allocation and surfaces warnings as you approach limits. /usage gives a fuller breakdown by skill, subagent, and MCP server. Neither reflects usage from other devices or claude.ai; for that you need Settings → Usage in the web app.

Does upgrading mid-cycle give me a full reset?

Anthropic doesn't document this explicitly in the sources reviewed for this post. The practical expectation is that upgrading moves you to the higher multiplier going forward, but whether it retroactively resets the current window mid-cycle isn't confirmed. If you're buying an upgrade specifically to unblock an active session, check current support documentation or contact Anthropic support before assuming you'll get immediate headroom.

The sharpest caveat in all of this: Anthropic doesn't publish exact token counts for session or weekly caps, and the company has adjusted allowances more than once as demand has grown. Any specific message-count figure you find online (including "~45 messages per 5 hours" for Pro) is an approximation under typical conditions, not a hard guarantee.

Need this done, not just read?

start a project book 30 minutes