[BUG] /rewind causes complete terminal lockup on any --resume'd session — Ctrl+C does not work

Resolved 💬 4 comments Opened Apr 23, 2026 by marto Closed Apr 23, 2026

What's wrong

On any claude --resume'd session, invoking /rewind (or Esc Esc) opens the rewind picker but it is completely unresponsive to keyboard input. Esc, Enter, and arrow keys do nothing. Ctrl+C also does not work — the session is a hard lockup. The only way to recover is Ctrl+Z to suspend, then kill %1.

Verified working correctly on 2.1.116. Broken on 2.1.118.

Repro

  1. claude --resume <any session> (reproducible on an absolute clean repo with minimal history — not session-specific)
  2. Type /rewind (or press Esc Esc)
  3. Picker renders, but no keys reach it. Ctrl+C doesn't kill the session either.
  4. Recovery: Ctrl+Z, then kill %1

Scope

  • Only reproducible after --resume. Fresh claude sessions handle /rewind correctly.
  • Reproducible in every resumed session, not specific to one.
  • Reproducible with a minimal ~/.claude.json copied to a throwaway CLAUDE_CONFIG_DIR, so it's not session-history bloat.
  • Not reproducible with an empty CLAUDE_CONFIG_DIR. Something in ~/.claude.json state is the trigger.

Environment

  • Claude Code: 2.1.118 (confirmed working on 2.1.116)
  • OS: macOS
  • Terminal: Ghostty (also reproduces in Terminal.app — not terminal-specific)
  • TERM=xterm-256color
  • tmux: not involved
  • Vim mode: off
  • No ~/.claude/keybindings.json

What I tried

  • Disabled vim mode: no change
  • Switched to Terminal.app: no change
  • Killed all stale Claude Code processes and restarted terminal: no change
  • Clean CLAUDE_CONFIG_DIR: works correctly. Problem reappears when ~/.claude.json is in place.
  • Problem does not depend on session history size — reproducible with near-empty history.

Expected

/rewind picker responds to Esc / Enter / arrows. At minimum, Ctrl+C should always kill the session.

Related issues

Appears closely related to / possibly same root cause as:

  • #52281 — Interactive menus (MCP, rewind) completely unresponsive on --resume (macOS, 2.1.118)
  • #52268 — Console freezes when using /rewind immediately after /resume (Windows, 2.1.118)
  • #52319 — /rewind interactive picker stops accepting keyboard input in 2.1.118 (Linux regression from 2.1.117)
  • #52209 — Rewind functionality causes terminal freeze (macOS, 2.1.118)

This report adds the CLAUDE_CONFIG_DIR bisection data point: the trigger lives in ~/.claude.json contents, not in session-history size or the session file itself.

View original on GitHub ↗

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