← All reviews
Analysis · October 25, 2026 · 6 min read · Updated October 26, 2026

Claude Code idle resumes: what they cost, and when the new warning appears

Leave a large Claude Code session for more than an hour and your next message usually writes most of the conversation to the cache again, at twice the input price. Keep idle compaction on, check that it runs, and start a new conversation for a new task.

The 30-second version

After more than an hour away, your next message to a large Claude Code session usually writes most of the conversation to the cache again. For a 400K-token conversation that is about $3 at Opus 5.5 list prices, paid from your usage limits on a subscription. What to do:

  • Keep idle compaction on, and check that it runs. It summarizes a large conversation before the cache expires; in our test, coming back two idle hours later cost $0.20 with it and $3.28 without. On our days-long sessions it never ran.
  • Come back within the hour, or start a new conversation for a new task. Claude can look up the old one if you refer to it.
  • Watch automated prompts into idle sessions. One that arrives more than an hour after the last request usually rewrites the context; they started about half of our costly returns.
  • Don’t wait for the new resume warning on Opus 5.5. With the configuration we saw, it can’t appear on a Max plan.

Why an hour matters

On a Claude subscription, Claude Code keeps the main conversation in a prompt cache for at least an hour. Within that hour, the next request reads most of the conversation from the cache, at a twentieth of the input price. After it, the entry may be gone, and the next request writes the conversation to the cache again at twice the input price: $8 per million tokens on Opus 5.5. With an API key, a cloud provider or usage credits, the default cache lasts five minutes instead.

Our own transcripts show the pattern:

Gap since the previous requestRequestsMostly read from the cacheMostly written again
Under 5 minutes6,4476,42126
5 to 60 minutes2702664
An hour or more3572355

We call those 355 requests cold resumes. The median one wrote 365,288 tokens to the cache, about $2.92 at list prices; on Max 5x, Claude Code’s own estimate puts a 400K-token rewrite at about 1.5% of the 5-hour limit. Their cache writes cost $1,151, 55% of the $2,074 our 46 conversations cost in all. They came from 19 conversations, mostly sessions we keep running for days, and automated prompts, mostly scheduled checks, started about half of them.

Idle compaction works, when it runs

Claude Code 2.1.299 added idle compaction to the terminal: a conversation of 200K tokens or more, idle for about 54 minutes, is replaced with a summary before the one-hour cache expires, so your next message sends the summary instead. It is on by default, but needs auto-compaction, the one-hour cache and an awake computer. "idleCompaction": false in settings.json turns it off, and CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS lowers the 200K threshold, down to 100K.

We tested it with two identical 421K-token conversations on Claude Code 2.1.310, one with idle compaction on (A) and one with it off (B):

A: idle compaction onB: idle compaction off
54 minutes idleCompacted in 7 seconds: about $0.18Nothing
First return, 61 minutes after the warm-up$0.20$0.23, still read from the cache
Second return, after 2 hours 12 minutes idleWrote 24,738 tokens to the cache: $0.20Wrote 409,710 tokens: $3.28

B’s cache survived the first return, possibly because A’s compaction had read their shared prefix eight minutes earlier; the second return is the real comparison. In all, A cost $0.58 after the warm-up and B $3.51. The trade-off: Claude continues from a summary, which points it to the full transcript on disk.

It never ran on our long-running sessions. None of our transcripts records an idle compaction, including 86 cold resumes of 200K+ token conversations after 2.1.299 shipped. Those processes were still on 2.1.283 and 2.1.293, but 2.1.283 already contains the idle-compaction code, so we don’t know why. If you keep sessions open for days, look for the terminal notice “Compacted while idle”.

The resume warning can’t trigger for Opus 5.5 on Max

With the configuration cached on our account, Opus 5.5 would need a conversation of about 1.36 million tokens to trigger the warning on Max 5x, more than its 1-million-token window. Claude Code 2.1.304 added the warning on Pro and Max plans for resumes that “would use a noticeable share of your 5-hour usage limit”. In the 2.1.310 code, noticeable means an estimated 5% or more: context tokens times a per-model rate, divided by your plan’s allowance. It shows only when Claude Code judges that the cache can’t be reused and you aren’t already limited or using usage credits.

The context needed to trigger it, by model and plan:

ModelMax 5xMax 20x
Opus 5.5about 1.36 million tokensabout 5.46 million
Sonnet 5.52 million8 million
Opus 4.6500K2 million
Fable 5.1about 300Kabout 1.2 million

Figures above 1 million can’t be reached in a 1-million-token window. Resuming a 764K-token conversation that had been idle for ten days, on Opus 5.5 and Max 20x, showed none. The rates and allowances are downloaded and can change; our copy had no entry for Pro.

How we measured

All on one Mac, on 25 October 2026:

  • Transcripts. Every main-conversation transcript in ~/.claude/projects up to 19:18 UTC: 46 conversations and 7,121 requests since 10 July, subagents left out. We counted requests with at least 20K tokens of context and measured gaps between consecutive request records, an approximation of the time between requests. A cold resume came after a gap of an hour or more and wrote at least half its context to the cache.
  • Code and configuration. The warning’s text and logic in the Claude Code 2.1.310 binary, the idle-compaction code in 2.1.283, and the configuration cached in ~/.claude.json.
  • The idle-compaction test. Two conversations built from the full Claude Code changelog, on 2.1.310 with Opus 5.5; costs from the transcripts and /cost.

What we didn’t test

  • Other people’s usage. Most of our cold resumes came from sessions we keep running on purpose.
  • Real bills. Dollar figures are Opus 5.5 list prices applied to all our traffic, including traffic from before its release on 22 September. Subscriptions pay in usage, not dollars.
  • The usage meter. The warning shares are Claude Code’s own estimates; we didn’t check them against the meter.
  • Why idle compaction didn’t run on our long-running sessions, or a second test of it.

Companion reading

Sources

  1. Anthropic — Claude Code changelog, entries for 2.1.299 and 2.1.304. Retrieved 25 October 2026.
  2. Anthropic — Claude Code: Prompt caching, “Which TTL each request gets.”
  3. Anthropic — Prompt caching, cache-write multipliers and the 5% read rate on Opus 5.5.
  4. Anthropic — Claude Code: Settings reference, idleCompaction.
  5. Anthropic — Claude Code: Environment variables, CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS.

FAQ

Why does resuming an idle Claude Code session use so much of my limit? On a Claude subscription, Claude Code caches the main conversation for at least an hour. After a longer gap the cache entry may be gone, and the next request writes most of the conversation to the cache again, at twice the input price. In our transcripts, 355 of 357 requests after a gap of an hour or more did; the median one wrote 365,288 tokens to the cache, about $2.92 at Opus 5.5 list prices.

What is idle compaction in Claude Code? Added in Claude Code 2.1.299, it replaces an idle terminal conversation of 200K tokens or more with a summary after about 54 minutes, before the one-hour cache expires, so your next message sends the summary instead of the whole conversation. In our one test, a return after 2 hours 12 minutes idle cost $0.20 with it and $3.28 without it. "idleCompaction": false in settings.json turns it off, and CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS lowers the 200K threshold to as little as 100K.

When does Claude Code show the ‘Resume this conversation?’ warning? Since 2.1.304, on Pro and Max plans, Claude Code shows it only when it estimates that resuming will use at least 5% of your 5-hour limit and judges that the cache can’t be reused. With the configuration cached on our account, Opus 5.5 would need about 1.36 million tokens on Max 5x and 5.46 million on Max 20x, more than its 1-million-token window, so the warning can’t appear. Fable 5.1 reaches it at about 300K tokens on Max 5x.

How can I avoid paying for cold resumes? Come back within the hour, or start a new conversation for a new task; Claude can look up the old one if you refer to it. Keep idle compaction on and check that it runs on sessions you keep open for days. Watch scheduled prompts into idle sessions: in our logs, automated prompts started about half of all cold resumes.

Was this helpful?

Related reading


Reviews independently produced · Editorial policy

Read more reviews →