[BUG] Interactive menus (MCP, rewind) completely unresponsive on --resume

Status Fixed / completed
Reported on v2.1.118
Maintainer reply ✓ Yes — mhegazy
Activity 7 comments · opened Apr 23, 2026 · closed Apr 23, 2026
💡 Likely answer: A maintainer (mhegazy, contributor) responded on this thread — see the highlighted reply below.

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When resuming a session with claude --resume, interactive menus (MCP picker /mcp, rewind) render visually but accept no keyboard input whatsoever -- arrow keys, Escape, Enter, and Ctrl-C are all unresponsive. The only recovery is
force-killing the terminal window or kill -9 from another tab. Affects both iTerm2 and Terminal.app.

Fresh sessions (claude without --resume) work correctly every time.

What Should Happen?

Interactive menus should respond to keyboard input after --resume, identical to fresh sessions.

Error Messages/Logs

From claude --resume --debug-file /tmp/debug.txt, the following pattern appears immediately after startup and persists indefinitely:

  [STARTUP] showSetupScreens() completed in 4588ms   ← normal is <100ms
  [DEBUG] High write ratio: blit=0, write=31269 (100.0% writes), screen=477x244
  [DEBUG] High write ratio: blit=0, write=31506 (100.0% writes), screen=487x244
  [DEBUG] High write ratio: blit=0, write=31710 (100.0% writes), screen=488x244

  blit=0, write=100% never normalizes -- the renderer stays in full-redraw mode and never engages the overlay/menu input system.

  Also previously seen (with multiple sessions): Cannot acquire lock for 2.1.118 - held by PID XXXXX -- however the hang reproduces with only a single claude process running, so the lock conflict is not the sole cause.

  Potentially related open issue: #13287

Steps to Reproduce

  1. Start claude and have a substantial conversation
  2. Exit
  3. Run claude --resume
  4. Try to open any interactive menu (/mcp, rewind)
  5. Menu renders but is completely frozen -- no key input accepted, including Ctrl-C

My computer crashed a few times, which may have been the trigger for this behavior.

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.118 (Claude Code)

Platform

AWS Bedrock

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

7 Comments

github-actions[bot] · 4 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/52209
  2. https://github.com/anthropics/claude-code/issues/52268
  3. https://github.com/anthropics/claude-code/issues/22964

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

mugur-ripio · 4 months ago

same

PohTeyToe · 4 months ago

Adding a launch-path bisection from my repro (Windows 10, VS Code integrated terminal, CC 2.1.118, bash/Git Bash):

| Launch method | Rewind behavior |
|-|-|
| claude/resume (picker from inside TUI) | Works |
| claude --resume <session-id> (explicit id) | Works |
| claude --resume (no id, launch-time picker) | Input deadlocked |

Same underlying session file in all three cases. Only the bare-flag launch-time picker path breaks Rewind. --resume <id> hydrates the session without ever showing the launch-time picker and is fine; /resume from inside a running TUI is also fine. So the bug is specific to the --resume-with-launch-picker startup path, which suggests the launch-time picker hydrates the session before the TUI input loop is fully wired and leaves the keypress handler in a bad state that only surfaces once Rewind is opened.

Combined with #52329's CLAUDE_CONFIG_DIR bisection (trigger lives in ~/.claude.json, not session-history size), this narrows the repro further: it's the launch-picker path reading ~/.claude.json state during session hydration.

Workaround until fixed: resume with an explicit id (claude --resume <session-id>) or launch bare claude and use /resume from inside. Skip the bare --resume picker.

mrmemes-eth · 4 months ago

Chiming in to confirm I experience this as well in --resume'd sessions. MacOS 26.3.1, Claude Code CLI 2.1.118.

mhegazy contributor · 4 months ago

Thanks for reporting. Fix should be in tomorrows release.

ZQadus · 4 months ago

same mcps totally unusable, terminal freezes when i do /mcp

github-actions[bot] · 4 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.