Why you hit the Claude Code usage limit, and what uses it up

Updated

You hit the Claude Code usage limit sooner than your prompts seem to justify. The reason is not the prompts. It is how an agent works: on every single call, Claude Code sends the whole conversation again, and that re-sent context is most of what your plan pays for.

How the limits work

Anthropic publishes two limits for Claude subscriptions. A session limit resets every five hours. Max plans also have a weekly limit across all models. Max 5x and Max 20x give five and twenty times the Pro usage per session. Anthropic does not publish how many tokens of each kind fit in a limit, or how Opus and Sonnet tokens are weighted against each other.

What one Claude Code call sends

The prompt cache makes a repeated prefix cheap: a cache read costs a tenth of the normal input price (less on Opus 5.5 and Fable 5.1). But it is not free, and writing to the cache costs more than normal input: 1.25x for the 5-minute cache and 2x for the 1-hour cache.

A real week, by token type

We priced one developer's real Claude Code week (Sep 17 to 23, 2026) at API list prices, from the Claude Code transcripts in~/.claude/projects. 3,864 calls, 27 sessions, 983 million tokens, $692.60 in total.

Token typeList-price costShareWhat it is
Cache reads$432.8062.5%Claude re-reading the chat so far
Cache writes$207.8630%The chat saved again after it changed
Replies$37.885.5%What Claude actually wrote
Thinking$14.002%Reasoning tokens

92.5% of the cost was context: read again or saved again. Only 7.5% was Claude writing and thinking. The cache hit rate was 97.6%, so the cache worked. The context was simply large: 254K tokens per call on average, read 3,864 times.

What actually moves your limit

  1. Start new tasks with /clear. A fresh chat stops paying for the last task's context on every call.
  2. Compact earlier. With a 1M-token window, a chat can grow very large before auto-compact runs. Set CLAUDE_CODE_AUTO_COMPACT_WINDOW to a smaller window.
  3. Cap tool output. Large Bash and MCP results stay in the chat and are re-read on every later call.
  4. Do not switch models in the middle of a chat. The cache belongs to one model. A switch writes the whole context to cache again.
  5. Watch subagents. In the week above they were 27% of spend. They can run on a cheaper model.

The settings for each of these are in How to reduce Claude Code token usage.

More guides