Repository navigation
Replies: 3 comments
TriageThe 70-minute banner is the behavior shipped in #8144, and the cost gap you measured is real.
Turn usage keeps a single Codex is left out of that function on purpose. It can already compact: the provider advertises Claude's own Auto-compact after is already any integer from 100,000 to 1,000,000 (
The part that matches the existing feature is a warm-cache offer: compact, or notify, before the cache window closes, using the 1-hour vs 5-minute split when the CLI reports it. A lower banner threshold only helps while the app is open inside that window. "Continue in a new thread" (brief, link, archive after the first reply) and a Codex idle offer are separate features. Checked on |
|
Looks like the triage script has a small blind spot with discussions. In the triage above, #7590 came out as "does not resolve to an issue or pull request", but it's a discussion: #7590 Likely cause: |
|
@juliusmarminge Following up on your triage above ("compact, or notify, before the cache window closes"): I've put up a narrow slice of that as draft #16855 and would like a yes/no on direction before going further. It adds an opt-in If this direction works for you, I'll link your approval and mark it ready. If you'd rather this go through the TTL-aware offer instead, I'm happy to close it. |
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web
Steps to reproduce
Expected behavior
The cheap moment is used, and the offer covers Codex too:
usage.cache_creation.ephemeral_1h_input_tokens/ephemeral_5m_input_tokens; it is 5 minutes on API keys and in overage). For Codex (gpt-6-astra), 30 minutes is treated as a minimum, and Codex threads get the offer as well (T3 can already compact them withcompactThread).Actual behavior
The banner appears only after 70 idle minutes (Claude Code's own resume threshold,
CLAUDE_CODE_RESUME_THRESHOLD_MINUTES), while the cache lives 60 minutes on a Claude subscription and 5 minutes on an API key. By then the cache has expired, so Compact re-reads the whole context at the uncached rate. Codex threads get no offer.Claude Code's own mechanisms do not cover this. It backs the same 70-minute / 100K dialog with a summary prepared while the cache was warm, and has an idle compaction at 90% of the cache window, but both are server-side experiments: only Anthropic decides which accounts get them, as part of its own testing, and a user has no way to turn them on or influence this. My account (2.1.283) is not enrolled in precomputation (
tengu_sepia_moth) or idle compaction (tengu_sunny_locket), but is enrolled intengu_gleaming_fair_reuse, which shows the dialog only when a precomputed summary exists, so it never appears. Even with the experiment on, the summary is prepared only near the auto-compact threshold.Measured on Opus 5.5, two idle threads of ~210K tokens, API prices:
Modelled from these numbers, returning to a cold 430K thread for 10 short messages costs $4.40 if continued, $2.12 with today's banner, $0.49 if compacted while warm, and $0.53 via a new thread with a brief and a link. For heavy agent work (~87 requests per message in my session) the auto-compact threshold matters more: five heavy messages cost $56 at 950K, $38 at 600K, $32 at 400K, and $26 at 200K.
Related: #8144 (the banner), #11999 (moves it out of the composer stack), #7590 (cache countdown idea).
Impact
Major degradation or frequent failure
Version or commit
0.0.43-nightly.20260926.2282 (code checked on
main@ de251fc)Environment
Desktop app on Linux (NixOS, Wayland, niri); Claude Code 2.1.283 with Opus 5.5; Codex 0.157.1 with gpt-6-astra
Logs or stack traces
Screenshots, recordings, or supporting files
No response
Workaround
Compact by hand within an hour of the last reply, or lower "Auto-compact after" in the Claude provider settings.
All reactions