Resume-summary modal blocks headless `--rc` sessions; not visible in Remote Control / Code tab

Resolved 💬 3 comments Opened Apr 17, 2026 by RanaCM Closed Apr 20, 2026

Summary

When claude --resume <id> is invoked on a session that has crossed an internal token threshold (observed: ~100k tokens, regardless of age — saw it triggered at 8h38m/148.8k, 1d3h/104.2k, 1d16h/102.3k), the CLI displays an interactive modal:

This session is Xh Ym old and Z tokens.
Resuming the full session will consume a substantial portion of your usage limits.
We recommend resuming from a summary.

❯ 1. Resume from summary (recommended)
  2. Resume full session as-is
  3. Don't ask me again

Enter to confirm · Esc to cancel

This modal renders to the local TTY only (Ink/TUI render path). It is not surfaced to the Remote Control / Code tab even when the session was started with --rc.

Repro

  1. Start a long-running headless session via launchd or systemd:

``
script -q /dev/null claude --resume <uuid> \
--channels plugin:discord@claude-plugins-official \
--permission-mode bypassPermissions --rc
``

  1. Let the session accumulate >100k tokens (or crash after accumulation).
  2. Wrapper restarts → invokes --resume <id> again.
  3. Modal appears in the local PTY (which has no human attached) and blocks all input.
  4. Open the Remote Control session in the Claude Code Desktop app's Code tab — modal is invisible there. The session shows as connected but inert.

Impact

  • Headless bot fleets (Discord/Telegram/iMessage channels via the claude-channels mechanism) become unrecoverable without local terminal access.
  • Even with --rc enabled and the Desktop app open, there is no way to dismiss the modal.
  • Only fix is killing the process and starting a fresh session — losing all prior session state.

Requested fixes (any one would resolve)

  1. CLI flag like --auto-resume-strategy=summary|full|fresh|prompt (default prompt, but settable to summary for headless setups).
  2. Settings.json key equivalent (e.g., resume.defaultStrategy).
  3. Surface the modal via Remote Control — Desktop app should be able to render and respond to TUI dialogs of sessions it's connected to.
  4. Honor a one-time "Don't ask me again" preference globally — confirm whether option 3 in the modal already persists this (and if so, where).

Related

  • #29205 — ghost sessions from RC summary tasks (adjacent)
  • #6995 — arrow key navigation broken in resume picker (same modal family)
  • #34025 — resume failures with image-heavy sessions
  • #38498 — feat(channels): extend channel relay to ExitPlanMode, AskUserQuestion, and all modal dialogs (adjacent — same surfacing gap, different transport)

Environment

  • Claude Code CLI (latest stable as of 2026-04-17)
  • macOS Darwin 25.4.0
  • bash wrapper + macOS launchd, script -q /dev/null for PTY
  • Sessions are channel-bot sessions (--channels plugin:discord@...)

View original on GitHub ↗

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