`claude -r` picker accepts no keyboard input in 2.1.204 (works in 2.1.202)

Resolved 💬 2 comments Opened Jul 8, 2026 by 1ee4 Closed Jul 8, 2026

Bug report: claude -r picker accepts no keyboard input in 2.1.204 (works in 2.1.202)

Summary

After updating to 2.1.204, the claude -r session picker (the new
agents/tasks home screen) accepts no keyboard input at all - not just
arrows. The cursor sits and blinks; no key does anything. The only thing that
responds is the tmux prefix hotkey (C-a), and that only works because tmux
intercepts it upstream, before the key ever reaches the pane. In other words
the picker process appears to receive nothing from stdin. Rolling back to
2.1.202 restores full keyboard input in the picker. The regression is
isolated to the picker UI; keyboard input works normally inside a running
(already-resumed) session on both versions.

Works vs. doesn't

  • Works -> $HOME/.local/share/claude/versions/2.1.202
  • Doesn't -> $HOME/.local/share/claude/versions/2.1.204

Both invoked identically as <path> -r from the same shell, same tmux pane,
same working directory. Only the binary differs.

Steps to reproduce

  1. cd into a directory that has resumable sessions.
  2. Run $HOME/.local/share/claude/versions/2.1.204 -r.
  3. The picker (agents/tasks home screen) appears with the session list.
  4. Press any key - arrows, letters, Enter, etc.

Expected: the picker responds (selection moves, input registers).
Actual: nothing registers; cursor just blinks. No key does anything. The
only input that has any effect is the tmux prefix (C-a), which tmux handles
itself before forwarding to the pane - so the picker process itself is getting
no keyboard input.

Running $HOME/.local/share/claude/versions/2.1.202 -r in the exact same
context, the keyboard works normally and sessions can be selected/resumed.

Scope / what was ruled out

  • Not tmux pane focus. The picker was the active tmux pane; keyboard input

is dead regardless of focus. A normal session in an adjacent pane accepts
keyboard input at the same time. Focus makes no difference to the picker.

  • Not tmux config. Same tmux server and config drives both the working and

non-working panes. A fresh throwaway server behaves the same.

  • Not hooks. Only hook configured is a PostToolUse Bash logger, which

cannot affect key input in the picker.

  • Not tty state. stty -a on the picker's pts is identical to a working

pane's pts (same rows, same control chars).

  • Only variable that changes behaviour is the binary version (2.1.202 vs

2.1.204).

Notes

  • On 2.1.204 no keystrokes reach the picker at all (only the tmux prefix, which

tmux handles before the pane). This looks like the new agents/home UI is not
reading stdin from the controlling tty - possibly the daemon / bg-pty-host
stack is grabbing or not wiring up the tty - whereas 2.1.202 uses the flat
resume list and reads input normally.

  • Process tree while the 2.1.204 picker is open shows the new daemon stack

(personal paths / session ids redacted):

``
claude -r (foreground on the picker's pts)
└─ claude daemon run --origin transient cwd=<CWD>
├─ claude bg-pty-host <daemon>/spare/<hash>.pty.sock 200 50 -- \
│ ~/.local/share/claude/versions/2.1.204 --bg-spare <daemon>/spare/<hash>.claim.sock
├─ claude bg-pty-host <daemon>/pty/<hash>.sock 221 29 -- \
│ ~/.local/share/claude/versions/2.1.204 --session-id <SESSION-ID> --agent claude
├─ claude bg-spare --bg-spare <daemon>/spare/<hash>.claim.sock
└─ ~/.local/share/claude/versions/2.1.204 --session-id <SESSION-ID> --agent claude
``

The foreground claude -r (the picker) owns the pts, but a background
bg-pty-host / --agent claude session is also alive under the daemon.

Environment

  • Claude Code: 2.1.204 (regressed) vs 2.1.202 (works)
  • Install method: native (~/.local/bin/claude, autoUpdates off)
  • Hostname: gradeffe
  • uname -a: `Linux gradeffe 6.17.0-35-generic #35~24.04.1-Ubuntu SMP

PREEMPT_DYNAMIC Tue May 26 19:30:42 UTC 2 x86_64 x86_64 x86_64 GNU/Linux`

  • Terminal emulator: XTerm(390)
  • Terminal multiplexer: tmux 3.4
  • TERM inside tmux: tmux-256color; outer terminal reports xterm-256color
  • Version landed: 2.1.204 installed 2026-07-08 (~1h before the issue surfaced);

last working picker was on 2.1.202

Workaround

Pin the launcher back to 2.1.202 via a shell alias:

alias claude='$HOME/.local/share/claude/versions/2.1.202'

View original on GitHub ↗

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