Blog

Claude Code limit reached too fast? Why it runs out

Every Claude Code turn re-sends the whole session: instructions, every file it read, every command output. Late in a session the same question costs many times more than it did at the start. Shorter sessions, quieter tool output, the right model and compressed context are what make a plan last.

67.7%
of spend is re-reading old context
0.2%
is fresh, uncached input
72%
less on a 938-turn session through condense

What counts against your limit

Claude plans meter tokens over a rolling five-hour window and a weekly cap. In an agent session nearly all of those tokens are input the model has already seen.

Where a real session's spend went
Claude Code session, priced by cache tier
  • cache read67.7%
  • cache write18.9%
  • output13.2%
  • fresh input0.2%
Two thirds of the bill is the model re-reading history it already has. From the anatomy of a token bill.

Why it grows so fast

Context only grows until auto-compact fires. Every file read, failing test and broad grep rides along on every later turn.

Context carried per turn
Illustrative session
auto-compactturn 1turn 40
  • default
  • with condense
Without compression, context climbs until auto-compact resets it. Compressed, the same session carries a fraction of it every turn.

Five ways to make it last

  1. 1
    One session per task

    /clear when you switch. Keep decisions in CLAUDE.md, not chat history.

  2. 2
    Quiet tool output

    Failing tests only, tail long logs, scope searches.

  3. 3
    Right model

    Plan with Opus, implement with Sonnet via /model.

  4. 4
    Trim overhead

    Disable unused MCP servers. Check /context before you start.

  5. 5
    Compress what is re-sent

    condense shrinks old tool output and file contents before each request: up to 3× more from the same plan.

Hit the limit mid-task?

Ask for a short handoff note (done, broken, next step), commit or stash, and start a fresh session from the note when the window resets.

Frequently asked questions

Why did I hit my Claude Code limit after only a few messages?

Usage is counted in tokens, not messages. One message in a long session can carry hundreds of thousands of tokens of history, file contents and tool output.

Does a long Claude Code session use more of my limit than starting fresh?

Yes. Each turn re-sends everything still in context. Cached tokens are cheaper but still count, and the cache expires after a few idle minutes.

Does Opus use more of my Claude plan than Sonnet?

Yes. Use Opus for planning and hard debugging, and Sonnet for routine edits, tests and refactors.

How do I check how much Claude Code usage I have left?

Run /status inside Claude Code. Through condense, dense usage shows session and weekly usage next to what the same work would have cost uncompressed.

Will upgrading from Pro to Max fix it?

It raises the ceiling, but the habits that empty Pro empty Max too. Cut waste first, then upgrade if you still hit the limit on normal work.

All posts