[BUG] 2.1.152 regression: arrow keys hijacked in prompt input (cursor cannot move down/left/right)
Summary
In 2.1.152, arrow keys (↓, ←, →) no longer work for cursor movement inside the multi-line prompt input box. They appear to be globally captured by what looks like a new \"manage subagents\" keyboard shortcut feature, leaving no way to move the cursor between lines in the prompt.
Repro
- Install / upgrade to claude 2.1.152 (native installer, macOS arm64).
- Open a new session in any terminal (verified in Ghostty 1.x; not terminal-specific — see diagnosis below).
- Type a multi-line prompt (Shift+Enter for newline).
- Try to move the cursor with ↓ / ← / →.
Expected: cursor moves character-by-character / line-by-line within the input box. Pressing ↓ on the last line should jump cursor to end of line (prior behavior).
Actual: arrow keys do nothing for cursor movement. ↓ in particular has no effect — cannot navigate between lines of a multi-line prompt at all.
Diagnosis (ruled out)
- Terminal is sending standard sequences:
cat -v+ ↓ prints^[[Bas expected. - Not a TERM issue: tested with
TERM=xterm-256color claude— same broken behavior. - Not a system-level remap: no Karabiner, no
hidutilmappings. - Not a config issue: no
~/.claude/keybindings.json, andsettings.jsoncontains no key bindings. - Same terminal, same env, codex CLI's input box handles ↓ correctly → confirms it's not the terminal or protocol layer; the regression is in Claude Code's input handler.
- Downgrading the symlink
~/.local/bin/claudeto point at the 2.1.150 binary fully restores normal arrow-key behavior. Re-pointing it at 2.1.152 reproduces the bug. So the regression is contained to 2.1.152.
Suspected cause
2.1.152 appears to have introduced a feature where ← (and possibly ↑/↓/→) manages/navigates subagents at a global level. This handler seems to be running unconditionally and swallowing arrow events that should be delivered to the prompt input box. Suggested fix: only bind these arrows in the subagent management view, not in the prompt input focus.
Environment
- claude 2.1.152 (Claude Code), native installer, macOS arm64 (Darwin 24.6.0)
- Terminal: Ghostty (TERM=xterm-ghostty, also tested TERM=xterm-256color)
- Shell: zsh
Workaround
ln -sfn ~/.local/share/claude/versions/2.1.150 ~/.local/bin/claude
(Pin to 2.1.150, set \"autoUpdates\": false in settings.json to prevent re-upgrade.)
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗