Agent View: home page input frozen after returning from agent detail (Windows)
Status Fixed / completed
Reported on v2.1.143
Maintainer reply ✓ Yes — diana-ant
Workaround ✓ Mentioned in thread ↓
Activity 9 comments · opened May 16, 2026 · closed May 27, 2026
💡 Likely answer: A maintainer (diana-ant, collaborator)
responded on this thread — see the highlighted reply below.
Description
After running claude agents, drilling into an agent's detail view, and returning to the home (list) view, the home view stops responding to keyboard input. The TUI is still rendered correctly but no key (arrows, Enter, Esc, q, Ctrl+C) does anything. The only way to recover is to X out of the terminal window.
Reproduction
- Run
claude agentsin Windows Terminal - Agent View loads, shows the home page (e.g.
0 awaiting input · 0 working · 4 completed) - Arrow-key down to select any agent from the Completed list
- Press Enter to open the agent detail
- Press Esc (or arrow keys, or
q) to navigate back to the home page - Home page renders again — but keyboard input no longer works
Repros every time, on a brand new Agent View invocation. Has never worked for me since the feature shipped.
Expected
After returning from an agent detail view, the home page should accept keyboard input again — scroll, select another agent, or quit cleanly.
Actual
Home page visible, terminal not closed, but stdin appears frozen. No keystrokes register. Must close the terminal window to recover.
Environment
- OS: Windows 11 Pro 25H2, build 26200.8457
- Hardware: Lenovo ThinkPad P14s Gen 6 AMD (21RV000NUS), AMD Ryzen AI 9 HX PRO 370
- Terminal: Windows Terminal 1.24.11321.0
- Shell: PowerShell 7+ (pwsh, launched via
pwsh.exe -NoProfile) - Claude Code: 2.1.143.0
- Node: v24.12.0
Related issues
- #59511 — Agent View: opening session hangs indefinitely (Windows, v2.1.142). Similar Windows-specific TUI navigation problem but a different point in the flow (opening vs. returning). May share a root cause.
- #58990 — Left arrow in AskUserQuestion doesn't return to Agents view (Linux). Different surface but same family of key-propagation / focus issues.
Notes
- I separately worked around the older PowerShell-hook stdin-corruption bug (#26586 / #53321) by replacing a
pwsh.exehook with anodehook + explicit"shell": "bash"in settings.json. That fix is in place at the time this Agent View bug occurs, so this is not the same root cause. - The terminal tab title stays as "claude agents" after the freeze, suggesting the Agent View process is still alive in the foreground — just not accepting input.
9 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
2.1.143 installed on Windows - agents view is more unusable today than before. I second this bug, and can confirm that #59251 is still broken (maybe worse)
FleetView TUI hard-hang on second mount — regression in 2.1.141+, Windows
Probable duplicate of
This report adds regression boundary, clean-user reproduction, daemon-side
forensics, and bundle-level code evidence that aren't in those threads.
Reproduction (deterministic, every time)
/agentsor the leftarrow shortcut →[PERF:bg-leftarrow-mounted]).are completely ignored. Only recovery is closing the terminal window or
taskkill /PID <claude.exe>.Reproduced on a clean Windows user profile with no prior
~/.claudestate.Version matrix
| Claude Code | Behavior |
|---|---|
|
2.1.140| Least bad — works in most flows, only occasional issues ||
2.1.141| Regression introduced — freeze begins occurring ||
2.1.143| Freeze reproduces deterministically |This points to a change in the 2.1.141 release window as the introducing
commit. The freeze persists through 2.1.143.
Environment
BUILD_TIME=2026-05-15T17:39:39Z,GIT_SHA=cfb8132e4c3551e2773f41a1900efd1cc93637dbDaemon side is healthy
Investigated
~/.claude/daemon.log,daemon/roster.json, alljobs/*/state.json:999ff4a7,dac9f075,e4316f09) properly registered with pipesno state corruption
state:"failed"job withno jsonl and no pipe) had no effect on the freeze — confirms bug is not
in daemon-worker reconciliation
The bug is entirely client-side (TUI/render layer).
Bundle-level code evidence
Strings extracted from
bin/claude.exe(2.1.143) viagrep -aon theBun-compiled binary:
Suspect heartbeat without observable cleanup
.fleetview-heartbeatwith 5000ms interval (Iz9)setInterval(...)paired withclearInterval(...)found inthe FleetView module scope (other heartbeats —
session_keepalive_heartbeatin
Rr7/JM6/uX8, andbg-rv30s heartbeat innX8/CqA— DO haveproper paired cleanup; this one appears not to)
Module-level state (
varin module scope, persistent across mount/unmount)Jt$(jobs array),li6(one-time-sort flag),wF8,ni6— not reseton remount.
li6is explicitly a "sort already happened" sentinel:if(!li6) Jt$.sort(...), li6=!0;→ second mount skips the sort entirelyand uses stale
Jt$Mount flow
The
clearInterval(K)here is the loader-progress interval (cleanlypaired), not the heartbeat. The heartbeat appears to have no equivalent
in this codepath.
Hypothesis (best fit for observed symptoms)
A frozen-input/no-error/hard-kill symptom indicates a blocked event loop,
not a thrown exception. Two candidates fit:
.fleetview-heartbeatsetIntervalregisteredin module-scope state on first mount, second mount adds another tick source
without clearing the first → callbacks pile up, renderer falls behind,
input events queue indefinitely.
.fleetview-heartbeatis a file watched viafs.watch/chokidar, WindowsReadDirectoryChangesWhandles leak if.close()isn't called on unmount → eventual handle exhaustion orERROR_PIPE_BUSYon the peer named-pipes (\\.\pipe\cc-daemon-...).A "Cannot destructure property 'mountFleetView' from null or undefined value"
string is present 3× in the binary but does not fit the symptom (it would
throw visibly, not freeze silently) — likely unrelated.
Suggested experiment for the assignee
Discriminator that needs no instrumentation: does the freeze occur on visit-2
if visit-1 was very brief (open + immediately close)?
leak** (heartbeat or watcher attached but never detached)
(heartbeat fires repeatedly while mounted, leaving residual work queued)
This single test discriminates between the two hypotheses above and tells
you which leak primitive to inspect.
Workaround for affected users
Avoid opening agent view a second time within the same CLI session.
If you need to check agents again, exit the CLI (
/exit) and start a freshclaudeinvocation. Daemon-side state and worker resume both survive this.Diagnostic data (available on request)
Baseline snapshot from this reproduction is stored locally at:
%LOCALAPPDATA%\Temp\claude_fleetview_diag\— contains pre-freezedaemon/roster.json, alljobs/*/state.json, process metrics (handles,threads, memory), and session manifest. Can attach to follow-ups if useful.
Hello! This should have been fixed in 2.1.145 - could you please update and try again?
Still down in 2.1.146
This was fixed for me in 2.1.147, running Windows 11 PowerShell 7.6.1
2.1.148 still freezes for me. Repro: fresh start
claude agents, press down to select first agent, enter, see how the session gets loaded, press left, observe UI freezes. When I do it from the second terminal window again, now that the session is loaded, it does not freeze. But it freezes when I open a second session and it gets loaded - pressing back freezes the UI.It seems like the keyboard is frozen, because when I move with mouse over the sessions, I see the mouse reacts and I am even able to click a session and get into it, and even type in it. But when returning back, it freezes again.
Fixed in v2.1.144 — input is now correctly restored after returning from a session on Windows. Please reopen if you still see this on a current version.
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.