[Feature] Confirmation modal for session resume cost — accidental click on parked session drains $5-10 with no warning

Open 💬 2 comments Opened Jun 16, 2026 by Ridrick66

What

Opening a parked Claude Code session from the session list immediately bills the user for re-sending the full conversation history as input plus a fresh cache write (cache TTL has expired). For marathon sessions with accumulated context (~200-500K tokens), this can cost \$3-10 per resume with no warning, confirmation, or undo. An accidental click on the wrong session in the parked list is unrecoverable.

Real cost evidence

Two real incidents on the same day (Max 20× user on post-cap credits):

  1. Clicked a parked session to finish a stopped mid-deployment task → \$8 billed before typing anything
  2. Accidentally clicked the wrong parked session in the list → \$7.50 drained with no work done, no confirmation, no undo

Why this happens (technical)

  • Session resume re-sends the full message history as input tokens
  • Prompt cache 5-min TTL — overnight/day-old sessions are always cold on resume
  • Cache write on resume billed at 1.25× input rate
  • Marathon Opus sessions with 200K+ accumulated context = \$3-8 just to load, before user types a single character

Why this matters

  • Users with the most valuable workflow (deep continuity, marathon sessions) are hit hardest — the more context you preserved, the more it costs to resume
  • Accidental session clicks cause unrecoverable financial damage with zero confirmation
  • The same charge happens silently while on subscription (counted against weekly cap) — so this is not a credits-only problem, it's a transparency-of-billing issue affecting all users
  • Visibility of credit drain (post weekly cap) just exposes a flaw that was always there, making it acutely painful instead of merely opaque

Proposed solution

Add a confirmation modal on session-open click when estimated cost exceeds a configurable threshold (e.g., \$0.50):

\\\
This session is large. Resuming will cost approximately \$X.YZ.
[Cancel] [Resume anyway] [Resume fresh with handover (cheap)]
\
\\

Token count is computable from session JSONL already on disk; cost estimate uses current model rates from the active subscription/credits mode.

Lower-effort alternative

If a full modal is too much: add estimated resume cost to each session preview/hover state in the parked session list. Pure information disclosure, no new modal.

Severity

Not a bug — a UX gap with direct financial impact, particularly under the credits model. Implementation appears straightforward: token data on disk, counting endpoint exists, threshold is one config value.

Related: #61666 (ultrareview auto-resume — similar transparency problem, different trigger).

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗