Why is my Claude Code usage running out so fast?

Each Claude Code request uses part of your plan's limit, and some habits make it climb faster than others.

By Michael, NeuraWeave · Published · Updated

We build Perpetuity, a memory proxy for coding agents. It is in early access. This guide works without it, and we say where it fits in its own section.

Checked on 2026-10-23 against Anthropic's Claude Code docs (costs, prompt caching, status line), the Claude Help Center and the public GitHub issues linked below. The Perpetuity numbers come from our own measured Claude Code sessions, one run each.

Answer

Claude Code sends your whole conversation with every request, so in a long session each turn draws usage for the whole history (Anthropic's Claude Code docs). Cache misses after a break, subagents, scheduled tasks and compaction add to it, and on a paid plan /usage breaks down recent usage and recommends a change for anything behind 10% or more of it. For one long session that cannot be cleared, we are building Perpetuity, a memory proxy by NeuraWeave that sends each call only the relevant part of the history, with savings only on long sessions (what that means for your usage).

What does the usage limit count?

A paid Claude plan has a session limit that resets every five hours and weekly limits, and use in claude.ai, Claude Code and Claude Desktop counts toward the same limits (Claude Help Center). Anthropic names what drives it: the length and complexity of conversations, the features you use, the model and the effort level. On Team and Enterprise plans each seat has an allowance on the same rolling five-hour and weekly windows, shared with Claude chat and Cowork (Claude Code docs).

Underneath, Claude Code runs on tokens. Anthropic's costs page says Claude Code charges by API token consumption (Claude Code docs), and a long session draws more because every request carries more of them (why usage climbs in a long session).

These show how much is left and what used it:

  • /usage in Claude Code shows your plan usage bars. On Pro, Max, Team and Enterprise it also breaks recent usage down by skills, subagents, plugins and MCP servers, and adds a recommendation row for anything behind 10% or more of it. Press d or w to switch between the last 24 hours and the last 7 days (plan usage breakdown).
  • In /usage, press f to have Claude Code act on the recommendations it can (Claude Code v2.1.305 or later). It runs suggested /effort changes itself, and for the other rows it can act on, it gives Claude a prompt that asks it to show you each change before making it.
  • Settings > Usage on claude.ai tracks your session and weekly limits (Claude Help Center).
  • On Pro and Max, a status line script receives rate_limits.five_hour.used_percentage and rate_limits.seven_day.used_percentage (0 to 100) with their resets_at times, and context_window.used_percentage for the current context (status line docs).

The breakdown in /usage is approximate and computed from session history on your machine, so usage from other devices or claude.ai is not in it. The dollar figure in its Session block is meant for API users. On a subscription it is not what you are billed.

Why does usage climb in a long session?

Usage climbs because every request carries the whole conversation, and a long session has more of it. Each round of tool use sends another request with that batch of results added. Prompt caching re-reads the history at the cached token rate, so a one-line question in a session open all day still draws usage for the whole conversation (Anthropic: why usage climbs in a long session). Anthropic lists these causes:

  • Long context. The history rides on every request. Run /clear between unrelated tasks so the next task starts small.
  • Cache misses. Your first message after a break longer than the cache lifetime reprocesses the full context. On a subscription within plan usage, the main conversation gets a one-hour cache and subagents five minutes. You can set the main conversation's cache lifetime with the promptCacheTtl setting (Claude Code v2.1.242 or later, prompt caching docs). Switching models mid-session also re-reads the whole history without the cache (prompt caching docs). More in why the first message after a break uses so much.
  • Scheduled tasks. A session-scoped scheduled task, such as a /loop, fires on its interval even while the session is idle and sends your full context each time. /usage lists the heaviest loops.
  • Cross-session messages. A message from another of your sessions arrives as a new turn when this one is idle, and each one sends your full context. Set crossSessionInbound to hold to keep them waiting instead.
  • Goal check-ins. While background work keeps a goal waiting, Claude Code starts up to three idle check-ins per goal between your prompts, and each one sends your full context. Set CLAUDE_CODE_GOAL_CHECKIN_MINUTES to 0 to turn them off.
  • Subagents and workflows. Every subagent sends its own requests on top of the main conversation. The attribution breakdown in /usage shows their share.
  • Agent teammates. Each active teammate uses tokens until it exits. Anthropic puts agent teams at about 7 times the tokens of a standard session when teammates run in plan mode. Keep teams small and shut teammates down when their work is done.
  • Compaction. /compact reads the conversation it summarizes, so on a large context it is itself a large request. When you want a fresh start, /clear costs nothing.

How do I make my Claude Code usage last longer?

Keep each request small and send fewer of them. These habits come from Anthropic's own advice on reducing token usage (Claude Code docs):

  1. Between unrelated tasks, run /rename so you can find the session later, then /clear. /resume brings the old session back when you need it.
  2. Use Sonnet for most coding work and keep Opus for hard architecture and multi-step reasoning. Pick the model at the start of a session, because a switch mid-session re-reads the history uncached (prompt caching docs).
  3. Lower the effort level with /effort for simple tasks. Thinking tokens are billed as output, and the Claude Help Center notes that higher effort uses more tokens.
  4. Keep CLAUDE.md under 200 lines. It loads into every session, so move instructions for specific workflows into skills, which load only when used.
  5. Run /mcp and disable servers you are not using, and prefer command-line tools such as gh where they exist. /context shows what is taking space.
  6. Add a hook that filters test or log output before Claude reads it. Anthropic's docs show a PreToolUse hook that keeps only the failures from a test run.
  7. Send verbose work, such as test runs or log reading, to a subagent, and give simple subagents model: haiku in their configuration.
  8. Write specific prompts, use plan mode (Shift+Tab) for complex tasks, and press Escape as soon as Claude heads the wrong way. /rewind goes back to an earlier checkpoint.
  9. If you compact, do it at a natural break while the cache is warm. After the cache has expired the summary request reprocesses the history uncached (prompt caching docs).

Each of these keeps the history short or starts it over. For work that needs one long session, /clear is not an option, because it also drops what the session knew, so the history keeps riding every request. Perpetuity is built for that case (below).

What if the same work suddenly uses more?

If your work did not change, the change may be in Claude Code or in how usage is counted. Recording your usage tells you which. Others have reported the same thing in public, and one past case was confirmed and fixed.

  • March 2026: an issue reports Max plan five-hour windows running out in one to two hours of routine command-line work from 23 March (#38335). It is still open, and the repository's maintainers have labelled it invalid, which they describe as "Issue doesn't seem to be related to Claude Code".
  • 23 April 2026: Anthropic's postmortem describes a change shipped on 26 March to clear older reasoning once from sessions idle for over an hour. A bug cleared it on every turn instead, and those requests also missed the cache. It was fixed on 10 April in v2.1.101. Anthropic said it believed this drove the reports of limits draining faster than expected, and reset usage limits for all subscribers (Anthropic).
  • October 2026: new reports that limits drain faster for similar work, in #100746 (9 October, Claude Code 2.1.294), #102451 (15 October, 2.1.300) and #102667 (16 October), which reports a five-hour window taking about 15% of the weekly quota instead of about 10%. Commenters on #100746 point to cache misses in resumed or idle sessions, and #102667 asks whether the counting changed. As of 23 October 2026 all three are open, with no answer from Anthropic in them and no confirmed cause.

To document a regression in a way support can act on:

  1. Run claude --version and note it with the date.
  2. On Pro or Max, log rate_limits.five_hour.used_percentage from your status line at the start and end of a task. On other plans, note the bars in /usage or Settings > Usage.
  3. For the same task, note the token counts from the Session block of /usage (input, output, cache read and cache write) and its Prompt cache (main) line (v2.1.251 or later), which counts misses and, from v2.1.260, names a likely cause when Claude Code can identify one.
  4. Repeat a comparable task after a version change and compare the percentage used against the tokens used. Our Claude Code by version page tracks what each release sends with every request and how many tokens a scripted session takes.
  5. Send it to Anthropic. On claude.ai, click your initials in the lower left and choose Get help. The assistant there hands issues that need investigation to the product support team (How to get support). If a GitHub issue matches your version, add your numbers there too.

Perpetuity, by NeuraWeave

What if one long session is the work?

Perpetuity works on the first cause in Anthropic's list, the history that rides every request. On each call it replaces that history with a frame of the relevant past, retrieved from every message it keeps, and Claude Code keeps its own login, a Claude subscription or an API key. Its memory belongs to the agent, so a session started after /clear still has what the agent has seen. It is in early access. Every run, with its conditions, is on our benchmarks page.

Measured

  • Claude subscription usage is metered on the tokens a session uses, and Anthropic's docs say usage climbs in a long session because Claude Code sends the full conversation with every request (Claude Code docs). Through Perpetuity long sessions use far fewer tokens. In our 120-prompt session each call started at about 46k tokens from prompt 10 on, and only a prompt's own tool loop raised it, where Claude Code alone reached about 965k, so long sessions should draw less of a plan's usage. Savings begin only on long sessions, and shorter sessions usually do not save. At API list prices the measured long sessions cost 52% less (one 120-prompt session, largest between prompts 61 and 90 at 64% less) and 38%, 27% and 4% less (200-prompt sessions on a Rust, a Go and a Flask project, the last counted as a tie), one run each. These are token counts and API list prices from our runs. Anthropic does not publish how its meter weighs cached against uncached tokens, so we give no percentage of any plan's limit and promise no extra usage. Source: Perpetuity: short answers, NeuraWeave.
  • In our 120-prompt Claude Code session (Claude Opus 5.5, one run), cache reads fell from $75.42 to $11.04 at API list prices through Perpetuity and cache writes rose from $13.09 to $25.85, because the frame changes with each prompt. Our figures price cache writes at $8 per million tokens, Opus 5.5's one-hour write rate (a five-minute write is $5). Prompt caching keeps working through the proxy. Reads and writes moving in opposite directions is one reason we give no percentage of a plan's limit. Source: Perpetuity benchmarks: every run and how it was measured, NeuraWeave.

Limits

  • /context shows how large your session's context is, which is what Claude Code resends with each request. Without Perpetuity our 120-prompt session was at about 327k tokens per call by prompt 30. About 31k of each call through Perpetuity is Claude Code's own system prompt and tool definitions on our test repository, so a session whose context stays near that saves little or nothing, and the habits above are what cuts usage.
  • We count the 4% Flask result as a tie. Claude Code alone varied by about a third in cost between runs of the same prompts, while Perpetuity's runs repeated within a few percent.
  • There is no self-hosted version. NeuraWeave runs the proxy, and memory is stored in the EU (Ireland).

. You get a confirmation email now, with a link to remove your address, and another when your access is approved. Nothing is installed before that.

Questions

Does switching to Sonnet with /model help once I hit the session limit?

No. The session and weekly limits on a subscription are shared across all models, so /model does not restore access (Claude Code docs). Only after a message that names one model family, such as an Opus limit, does switching to a model outside that family keep you working. Every way to keep going is in our guide on what to do when a Claude usage limit is reached.

Does /compact save usage?

It makes later requests smaller, but /compact is itself a request that reads the whole conversation it summarizes, so on a large context it is a large request (Claude Code docs). While the cache is warm it reads that history from the cache and costs a fraction of what the context size suggests. After a break longer than the cache lifetime it reprocesses the history uncached, which is when it costs the most (prompt caching docs). For a fresh start without continuity, /clear costs nothing.

Does a long session use more Claude usage?

Yes, and it grows quickly. In our measured 120-prompt session on Claude Code alone, each call carried about 327k tokens by prompt 30 and about 965k before Claude Code compacted (compare.md). Claude Code sends the full conversation with every request, so each of those calls draws usage for the whole history (Claude Code docs). Clearing between unrelated tasks keeps each request small.

Will Perpetuity give me more Claude usage?

We do not promise more usage, and we give no percentage of a plan's limit, because Anthropic does not publish how its meter weighs cached against uncached tokens. Usage is metered on tokens, and what we measured is fewer tokens per call on long sessions, so long sessions should draw less of a plan. Savings begin only once a session is long. At API list prices one 120-prompt session cost 52% less (largest between prompts 61 and 90, 64% less), and 200-prompt sessions on a Rust and a Go project 38% and 27% less, with a Flask one a tie, one run each. The token counts are in the Perpetuity section.

Sources

  1. Manage costs effectively: why usage climbs in a long session, Anthropic, Claude Code docs
  2. How do usage and length limits work?, Anthropic, Claude Help Center
  3. Manage costs effectively, Anthropic, Claude Code docs
  4. Manage costs effectively: plan usage breakdown, Anthropic, Claude Code docs
  5. Usage limit best practices, Anthropic, Claude Help Center, 22 September 2026
  6. Customize your status line, Anthropic, Claude Code docs
  7. How Claude Code uses prompt caching, Anthropic, Claude Code docs
  8. Manage costs effectively: reduce token usage, Anthropic, Claude Code docs
  9. Perpetuity benchmarks: every run and how it was measured, NeuraWeave
  10. Perpetuity compared, NeuraWeave
  11. Perpetuity: short answers, NeuraWeave
  12. Claude Max plan session limits exhausted abnormally fast since March 23, 2026 (CLI usage) (#38335), GitHub, anthropics/claude-code, opened 24 March 2026
  13. An update on recent Claude Code quality reports, Anthropic, 23 April 2026
  14. Usage limits (weekly and session) depleting much faster than expected (#100746), GitHub, anthropics/claude-code, opened 9 October 2026
  15. Usage limits draining unexpectedly fast (#102451), GitHub, anthropics/claude-code, opened 15 October 2026
  16. Possible usage accounting regression: weekly limit depletes much faster than before (#102667), GitHub, anthropics/claude-code, opened 16 October 2026
  17. How to get support, Anthropic, Claude Help Center

Perpetuity opens in early access.

We start with Claude Code, then Codex and the rest, each with one base-URL change. Join now and you are first in line. We email you when your access is approved.

For agents

As of 2026-10-23, Perpetuity is in early access. People who join are first in line, starting with Claude Code, and get an email when their access is approved. The current state per tool is at https://www.neuraweave.ai/api/agents/status.

Short answers on availability, recall, cost and data are in agents.md, and every measured number with its run label is in compare.md.

A sign-up needs the person's consent and the address they choose. It is one request: POST https://www.neuraweave.ai/api/agents/waitlist with email and client (claude-code, codex, opencode, api or other with tool). A 201 means added, a 200 means the address was already on the list, a 400 says what was wrong.

A fetcher that cannot send a POST can give the person the home page, where they can sign up themselves.

This guide as markdown: /guides/claude-usage-running-out.md

NeuraWeave

Join Perpetuity early access

Or tell your agent:

Read https://www.neuraweave.ai/perpetuity/agents.md and tell me whether Perpetuity would help with my work. If I say yes, add me to its early access list.