claude-code - 💡(How to fix) Fix Rewind picker deadlocks input when session loaded via `claude --resume` (no id, launch-time picker) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#52450Fetched 2026-04-24 06:06:56
View on GitHub
Comments
2
Participants
2
Timeline
8
Reactions
0
Author
Timeline (top)
labeled ×5commented ×2closed ×1

The Rewind picker (Esc Esc / /rewind) becomes completely unresponsive to keypresses — arrows, Enter, Esc, Ctrl+C all ignored — but only when the session was opened via claude --resume with no session id (the launch-time picker flow). The terminal must be killed entirely to recover; Rewind state is lost.

Root Cause

The Rewind picker (Esc Esc / /rewind) becomes completely unresponsive to keypresses — arrows, Enter, Esc, Ctrl+C all ignored — but only when the session was opened via claude --resume with no session id (the launch-time picker flow). The terminal must be killed entirely to recover; Rewind state is lost.

Fix Action

Workaround

Resume with an explicit id: claude --resume <session-id>, or launch bare claude and use /resume from inside.

RAW_BUFFERClick to expand / collapse

Summary

The Rewind picker (Esc Esc / /rewind) becomes completely unresponsive to keypresses — arrows, Enter, Esc, Ctrl+C all ignored — but only when the session was opened via claude --resume with no session id (the launch-time picker flow). The terminal must be killed entirely to recover; Rewind state is lost.

Repro

Launch methodRewind behavior
claude/resume (picker from inside TUI)Works normally
claude --resume <session-id> (direct id)Works normally
claude --resume (no id, launch-time picker)Input deadlocked

Same underlying session file in all three cases. Only the bare-flag picker path breaks Rewind.

Steps

  1. Have a session long enough to show in the resume picker (multi-turn, several prompts).
  2. Exit.
  3. Run claude --resume (no id argument). Select the session from the launch-time picker.
  4. Press Esc Esc (or run /rewind).
  5. Rewind picker renders. Arrow keys, Enter, Esc, Ctrl+C all ignored. No input reaches the picker.
  6. Only recovery: kill the terminal process entirely.

Expected

Rewind should behave identically regardless of how the session was resumed.

Environment

  • Claude Code: 2.1.118
  • OS: Windows 10 (10.0.19045.6466)
  • Terminal: VS Code integrated terminal (TERM_PROGRAM=vscode)
  • Shell: bash (Git Bash)

Notes

  • Not specific to long sessions in general — a fresh session of equivalent length works fine. The deadlock is tied to the --resume-with-launch-picker startup path.
  • Rewind picker itself renders correctly (selection cursor visible), so the render path is fine; it's the input handler that's dead.
  • Suspect the launch-time picker hydrates the session before the TUI input loop is fully wired, leaving the keypress handler in a bad state that only surfaces once Rewind is opened.
  • Ctrl+C does not interrupt — the terminal itself has to be killed.
  • Happens repeatedly, reproducible.

Workaround

Resume with an explicit id: claude --resume <session-id>, or launch bare claude and use /resume from inside.

extent analysis

TL;DR

The Rewind picker becomes unresponsive to keypresses when the session is opened via claude --resume with no session id, suggesting an issue with the input handler's state.

Guidance

  • Verify that the issue is specific to the --resume-with-launch-picker startup path by testing with different launch methods, as described in the Repro section.
  • Check if the problem persists when using a different terminal or shell, to rule out environment-specific issues.
  • Consider adding logging or debugging statements to the input handler code to understand its state when the Rewind picker is opened.
  • Test if the issue is resolved by using the workaround provided, resuming with an explicit id: claude --resume <session-id>.

Example

No code snippet is provided, as the issue description does not include specific code references.

Notes

The issue seems to be related to the way the session is hydrated when using the --resume flag with no session id, which might leave the input handler in a bad state. Further investigation is needed to determine the root cause.

Recommendation

Apply the workaround by resuming with an explicit id: claude --resume <session-id>, as it has been confirmed to resolve the issue. This allows users to continue working while the underlying problem is being investigated and fixed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING