[Bug] Arrow keys hang UI during history rollback and /mcp picker navigation

Resolved 💬 3 comments Opened May 1, 2026 by Ola-Yeenca Closed May 5, 2026

Bug Description
Title: v2.1.118 hangs on ↑/↓ during ESC-history rollback or /mcp picker — session must be killed and restarted

## Severity
Session-loss bug — pressing ↑ or ↓ in certain UI modes hangs Claude Code completely. Only recovery is killing the process, which
loses any in-progress conversation context.

## Environment

  • OS: macOS 26.4.1 (build 25E253)
  • Terminal: VS Code integrated terminal v1.107.0
  • Shell: zsh
  • Claude Code: v2.1.118
  • CLAUDE_CODE_NO_FLICKER: unset (default renderer)
  • [If tested in native terminal: also hangs in iTerm2/Terminal.app — Claude Code core / Only hangs in VS Code terminal — VS

Code-specific]

## Repro (100% reliable)

  1. Start claude in VS Code's integrated terminal
  2. Press Esc to enter history rollback mode
  3. Press ↑ or ↓
  4. Process hangs — UI stops responding, no input registers

## Also reproduces with

  • /mcp server picker — pressing ↑/↓ to navigate options causes the same hang

## Expected
↑/↓ navigates between options.

## Actual
Process becomes completely unresponsive. No keystroke registers. Must exit from another shell or kill the PID. In-progress
conversation context is lost.

## Workaround
Avoid pressing ↑/↓ in any picker UI. No alternative key tested yet (Ctrl+P/Ctrl+N untested due to fear of triggering same hang).

## Last known good version
v[PREV_VER if recallable, otherwise leave blank — they can bisect]

## Additional context

  • Default renderer (CLAUDE_CODE_NO_FLICKER unset) — already ruled out the experimental renderer as the cause
  • Reproducible 100% of the time, not intermittent

Environment Info

  • Platform: darwin
  • Terminal: vscode
  • Version: 2.1.118
  • Feedback ID: 027a16c5-5777-43a6-8afb-287e56ab29a8

Errors

[{"error":"Error: Tool mcp__claude_ai_Supabase__list_projects not found\n    at m57 (/$bunfs/root/src/entrypoints/cli.js:3093:31285)\n    at qJ (/$bunfs/root/src/entrypoints/cli.js:478:21013)\n    at $A (/$bunfs/root/src/entrypoints/cli.js:478:39566)\n    at Wd (/$bunfs/root/src/entrypoints/cli.js:478:50271)\n    at WRH (/$bunfs/root/src/entrypoints/cli.js:478:86947)\n    at nFH (/$bunfs/root/src/entrypoints/cli.js:478:85908)\n    at lFH (/$bunfs/root/src/entrypoints/cli.js:478:85729)\n    at Rp (/$bunfs/root/src/entrypoints/cli.js:478:82083)\n    at rH (/$bunfs/root/src/entrypoints/cli.js:478:6371)\n    at lF6 (/$bunfs/root/src/entrypoints/cli.js:471:6902)","timestamp":"2026-05-01T13:24:50.494Z"},{"error":"Error: Tool mcp__claude_ai_Supabase__execute_sql not found\n    at m57 (/$bunfs/root/src/entrypoints/cli.js:3093:31285)\n    at qJ (/$bunfs/root/src/entrypoints/cli.js:478:21013)\n    at $A (/$bunfs/root/src/entrypoints/cli.js:478:39566)\n    at Wd (/$bunfs/root/src/entrypoints/cli.js:478:50271)\n    at WRH (/$bunfs/root/src/entrypoints/cli.js:478:86947)\n    at nFH (/$bunfs/root/src/entrypoints/cli.js:478:85908)\n    at lFH (/$bunfs/root/src/entrypoints/cli.js:478:85729)\n    at Rp (/$bunfs/root/src/entrypoints/cli.js:478:82083)\n    at rH (/$bunfs/root/src/entrypoints/cli.js:478:6371)\n    at lF6 (/$bunfs/root/src/entrypoints/cli.js:471:6902)","timestamp":"2026-05-01T13:24:50.494Z"},{"error":"Error: Tool mcp__claude_ai_Supabase__execute_sql not found\n    at m57 (/$bunfs/root/src/entrypoints/cli.js:3093:31285)\n    at qJ (/$bunfs/root/src/entrypoints/cli.js:478:21013)\n    at $A (/$bunfs/root/src/entrypoints/cli.js:478:39566)\n    at Wd (/$bunfs/root/src/entrypoints/cli.js:478:50271)\n    at WRH (/$bunfs/root/src/entrypoints/cli.js:478:86947)\n    at nFH (/$bunfs/root/src/entrypoints/cli.js:478:85908)\n    at lFH (/$bunfs/root/src/entrypoints/cli.js:478:85729)\n    at Rp (/$bunfs/root/src/entrypoints/cli.js:478:82083)\n    at rH (/$bunfs/root/src/entrypoints/cli.js:478:6371)\n    at lF6 (/$bunfs/root/src/entrypoints/cli.js:471:6902)","timestamp":"2026-05-01T13:24:50.494Z"},{"error":"Error: Tool mcp__claude_ai_Supabase__execute_sql not found\n    at m57 (/$bunfs/root/src/entrypoints/cli.js:3093:31285)\n    at qJ (/$bunfs/root/src/entrypoints/cli.js:478:21013)\n    at $A (/$bunfs/root/src/entrypoints/cli.js:478:39566)\n    at Wd (/$bunfs/root/src/entrypoints/cli.js:478:50271)\n    at WRH (/$bunfs/root/src/entrypoints/cli.js:478:86947)\n    at nFH (/$bunfs/root/src/entrypoints/cli.js:478:85908)\n    at lFH (/$bunfs/root/src/entrypoints/cli.js:478:85729)\n    at Rp (/$bunfs/root/src/entrypoints/cli.js:478:82083)\n    at rH (/$bunfs/root/src/entrypoints/cli.js:478:6371)\n    at lF6 (/$bunfs/root/src/entrypoints/cli.js:471:6902)","timestamp":"2026-05-01T13:24:50.494Z"},{"err…

Note: Content was truncated.

View original on GitHub ↗

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