Claude Code usage limits explained: the 5-hour block and the weekly window

Claude Code has two usage limits: a 5-hour block that opens with your first message and expires five hours later, and a weekly window that resets every seven days at a fixed time per account. Both are budgets of weighted tokens, not message counts or hours at the keyboard, and both are shared between Claude Code and claude.ai chat. Run /usage inside Claude Code to see where you stand on each, or keep both numbers on screen all day with a local tracker.

The two limits at a glance

Anthropic layers two separate budgets on every subscription. You are blocked by whichever runs out first.

LimitWhen it resetsWhat it covers
5-hour blockFive hours after the block opens with your first messageAll usage in Claude Code and claude.ai chat, one shared pool
Weekly, all modelsEvery 7 days at a fixed per-account timeEverything, stacked on top of the 5-hour blocks
Weekly, top modelSame 7-day scheduleA separate cap for Opus-class usage on plans that include it

Anthropic has never published exact token quotas per plan, and the numbers move. The five-hour caps were doubled in May 2026 for Pro, Max, Team, and seat-based Enterprise plans, and a temporary promotion raised weekly Claude Code limits by 50 percent through July 19, 2026. Treat any specific quota you read online as stale by default.

How the 5-hour block anchors

No block runs while you are idle. Your first message opens a block, everything you do in the next five hours draws from it, and the block expires five hours after it opened. The first message you send after expiry opens the next block, so the schedule follows your activity, not a fixed clock.

One detail matters for the reset time: the anchor is floored to the clock hour. A first message at 8:47 starts a window that trackers such as ccusage model as 8:00 to 13:00, and that matches the reset times Claude Code reports.

The block is a token budget, not a timer. A heavy agent run producing large outputs can exhaust it in under an hour, while five hours of small edits may never get close.

The weekly window

Weekly limits arrived on August 28, 2025, after Anthropic said a small group of users was running Claude Code around the clock, sharing accounts, or reselling access. Anthropic estimated the caps would affect fewer than 5 percent of subscribers, per TechCrunch coverage of the announcement.

There are two weekly caps: an overall one across all models, and a second one for the top model on plans that include it. Both reset at a fixed timestamp every seven days, set when your subscription started, and the exact time for your account appears in /usage and on the claude.ai usage page.

What counts: weighted tokens

Every token in and out counts, but not equally. Anthropic does not publish its internal accounting, so local tools derive weights from API price ratios, and those weights track the official numbers well in practice:

Token typeWeightWhy
Input1xThe baseline rate
Output5xOutput is priced about five times input on most models
Cache write1.25xWriting a prompt cache costs a premium over plain input
Cache read0.1xReads are roughly a 90 percent discount

Cache reads dominate raw volume because every turn re-sends your entire context: system prompt, conversation history, file contents, tool definitions. One Claude Code issue measured cache reads at 99.93 percent of raw tokens in a session. That is why raw token counts look alarming while weighted counts stay sane, and why output, at 5x, is the direction that actually hurts.

How to check your current usage

/usage inside Claude Code

Run /usage in any Claude Code session. It shows your current 5-hour session, the current week across all models, the current week for the top model where applicable, and the reset time for each. This is the authoritative number, straight from Anthropic's ledger; see the official models, usage, and limits article for details.

claude.ai settings

The usage page under claude.ai settings shows the same plan-level numbers and the weekly reset timestamp. Useful when you are away from a terminal, since chat usage draws from the same pool.

Local trackers

Claude Code writes a JSONL log of every message under ~/.claude/projects, and a small ecosystem of tools parses it. ccusage is the reference CLI (npx ccusage blocks shows the current 5-hour block), and Claude Code Usage Monitor is a live terminal dashboard with burn-rate predictions. We compare the wider field, from CLIs to menu-bar apps, in our Claude Code usage tracker roundup.

How NotchViber shows both limits in the notch

NotchViber for Claude Code is our app: a free macOS notch app (macOS 14+, Apple Silicon, under 1 MB) that turns the notch into a Dynamic Island for Claude Code. The collapsed bar shows the 5-hour block percent and time to reset on the left wing, and the 7-day percent plus a per-model percent on the right, with a status dot that turns blue when a session is working and cyan when one is waiting on you.

It estimates limits the ccusage way: weighted tokens at the ratios above, blocks anchored to the first message after the previous block ends, message IDs de-duplicated. Everything is computed locally from the JSONL logs; there are no network calls and no telemetry. It sits alongside the other notch apps for Claude Code, and the same island also surfaces permission prompts and questions so a blocked session never waits silently.

Why local estimates differ from Anthropic's ledger

Every local tracker, NotchViber included, is an estimate. Expect it to drift from /usage for four reasons:

  • One machine only. Local tools read the JSONL files on that Mac. Usage from claude.ai chat, mobile, or a second laptop never lands in those files but still counts against your account.
  • Unknown denominators. Anthropic does not publish per-plan quotas, so a percentage needs an assumed budget. Calibrate once against /usage and the gauge stays close.
  • Anchor rounding. Hour flooring and clock skew can shift block edges by a few minutes either way.
  • Duplicates. Retries and forked sessions can log the same message twice; trackers that de-duplicate by message ID avoid the double count.

Treat the local number as the gauge you glance at and /usage as the ledger you trust.

Tips to stretch a block

  • Trim always-loaded context. A 15k-token CLAUDE.md is re-read as cache reads on every turn. Cheap per token, but it multiplies across hundreds of messages.
  • Keep prompts cache-friendly. Stable prefixes stay at the 0.1x read rate. Editing early context invalidates the cache and converts those tokens back into full-price input plus 1.25x writes.
  • Avoid huge outputs. At 5x weight, a full-file rewrite is the most expensive thing you can ask for. Request diffs and targeted edits, and send long logs to files instead of into the transcript.
  • Compact or restart long sessions. Context grows every turn, so late messages cost far more than early ones. /compact or a fresh session resets the base.
  • Batch small questions. Each message re-sends the whole context, so three questions in one prompt cost much less than three prompts.
  • Protect the top-model cap. If your plan has a separate weekly cap for the most expensive model, switch routine work to a cheaper one with /model.

Frequently asked questions

When does the Claude Code 5-hour limit reset?

Five hours after the block opened with your first message, with the anchor floored to the clock hour, so a first message at 8:47 resets at 13:00. Run /usage to see the exact reset time for the current block. Your next message after expiry opens a fresh block.

Do Claude Code and claude.ai chat share the same limits?

Yes. The 5-hour block and the weekly window draw from one pool per account, so a long chat on claude.ai spends the same budget your terminal uses. That is also why a tracker watching only your Mac's logs can undercount.

How do I check my Claude Code weekly limit?

Run /usage inside Claude Code. It shows the current week across all models and, where applicable, a separate figure for the top model, each with its reset time. The same numbers appear on the usage page in claude.ai settings.

Why does my local tracker disagree with /usage?

Local tools estimate from JSONL logs on one machine using price-ratio token weights, while /usage reads Anthropic's account-wide ledger. Usage from other devices and from claude.ai chat never appears in local logs, and Anthropic does not publish the exact quotas. Calibrate the tracker against /usage once and treat it as a gauge.

Does leaving Claude Code open burn my limit?

No. Only tokens count, and an idle terminal sends none, so no block even opens until you send a message. Time at the keyboard is irrelevant; token volume and token type are what spend the budget.