[BUG] Win11: agent view daemon causes rendering stutter, invisible cursor, and orphan claude.exe processes in 2.1.169+

Resolved 💬 3 comments Opened Jun 11, 2026 by bejek Closed Jun 25, 2026

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?

On Windows 11 with the OS default terminal wrap (Start menu → pwsh.exe shortcut → Win11 ConPTY → Windows Terminal/modern conhost), Claude Code 2.1.169+ exhibits three correlated regressions:

  1. Cursor disappears in the input prompt (no visible caret). Happens in the WT-detected code path (WT_SESSION env var set) and in the classic main-screen renderer (tui: "default"). Cursor is visible only in the fullscreen renderer with WT_SESSION empty.
  1. Choppy/stuttering rendering of streaming tokens and the "cooking" counter color animation. Token streaming visibly batches/stutters instead of flowing smoothly as in 2.1.153.
  1. Orphan claude.exe processes accumulate in the background across sessions. After several CC starts and exits, Task Manager shows multiple lingering claude.exe processes. Deleting the installation directory fails with "Access denied" until all are killed manually.

Consistent visual symptom on every startup since the regression: two brief console windows flash on screen and disappear immediately before the CC TUI renders. This is the agent view daemon spawning child Node processes.

Setting "disableAgentView": true in ~/.claude/settings.json fully resolves all three issues. Other render-related settings (tui, prefersReducedMotion, showThinkingSummaries, terminalProgressBarEnabled) do not help.

What Should Happen?

CC should launch directly into a fresh REPL session with:

  • No flashing console windows on startup
  • Smooth token streaming matching 2.1.153 behavior
  • Visible input cursor in all renderer paths and terminal launch modes
  • Clean process exit — no orphan claude.exe processes left running after /exit

The agent view feature is useful, but its on-demand daemon should not degrade interactive REPL performance for users who don't actively use background sessions. Consider lazy-spawning the daemon only when an agent view command is first invoked.

Error Messages/Logs

N/A — visual/rendering regression with no error log output.
No exceptions thrown, no stderr output.
The bug manifests as UX degradation (stutter, invisible cursor,
orphan processes) rather than functional errors.

Steps to Reproduce

  1. On Windows 11 Pro (build 26200), install Claude Code 2.1.153 globally via npm:

``powershell
npm install -g @anthropic-ai/claude-code@2.1.153
``

  1. Launch PowerShell 7.6.2 from the Start menu shortcut (this routes through Win11's default terminal app via ConPTY — WT_SESSION env var will be empty).
  1. Run claude, send any prompt. Observe: smooth token streaming, visible cursor, no flashing windows, no orphan processes after /exit.
  1. Upgrade to 2.1.173:

``powershell
npm install -g @anthropic-ai/claude-code@latest
``

  1. Launch the same way. Observe:
  • Two console windows flash briefly on startup
  • Dashboard view (agent view with completed/active sessions) appears instead of a fresh REPL
  • Token streaming stutters; "cooking" counter color animation is choppy
  • After /exit, Get-Process claude shows lingering processes
  1. Add to ~/.claude/settings.json:

``json
"disableAgentView": true
``

  1. Launch CC again. Observe: fresh REPL straight away, no flashing windows, smooth streaming, no orphan processes after exit.

Renderer matrix observed during debugging

| CC version | Launch method | tui | WT_SESSION | Cursor | Stutter |
|---|---|---|---|---|---|
| 2.1.153 | Start menu pwsh (implicit ConPTY wrap) | fullscreen | empty | visible | smooth |
| 2.1.153 | wt.exe pwsh -NoExit -Command claude (explicit WT) | fullscreen | set | invisible | stutters |
| 2.1.173 | Start menu pwsh (implicit wrap) | fullscreen | empty | visible | stutters |
| 2.1.173 | Start menu pwsh (implicit wrap) | default (main-screen) | empty | invisible | stutters |
| 2.1.173 | wt.exe pwsh -NoExit -Command claude (explicit WT) | fullscreen | set | invisible | stutters |
| 2.1.173 + disableAgentView:true | Start menu pwsh (implicit wrap) | fullscreen | empty | visible | smooth |

Settings tested that did NOT help

All these were tried individually and in combinations:

  • tui: "default" — switched cursor bug from fullscreen path to main-screen path (net worse)
  • prefersReducedMotion: true — killed "cooking" counter animation but didn't help stutter
  • showThinkingSummaries: false — slightly smoother but only marginal
  • terminalProgressBarEnabled: false — no perceptible change
  • showTurnDuration: false — no perceptible change
  • remoteControlAtStartup: false — no perceptible change
  • Switching to explicit wt.exe pwsh.exe ... launch — made it strictly worse

Only disableAgentView: true resolved all three symptoms.

Hypothesized root cause

The agent view on-demand daemon spawns child Node processes on Windows that briefly flash conhost windows (visible as "two flashing windows"). The daemon then runs IPC/polling traffic that competes with token streaming render slots in the wrapped console pipeline, and does not clean up child processes on parent CC exit — resulting in process pile-up.

Suggested investigation

  1. Lazy-spawn the agent view daemon only when first agent-view command is invoked, not at every CC startup.
  2. Spawn daemon with windowsHide: true + detached: true in child_process.spawn to avoid visible conhost flash.
  3. Register daemon cleanup on parent CC exit (process.on('exit') or Windows equivalent).
  4. Investigate cursor management (\e[?25l / \e[?25h pairing) in the WT-detected code path (WT_SESSION set) — appears unmatched somewhere in the agent view startup sequence.
  5. Separate cursor bug in tui: "default" main-screen renderer — also reproducible.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.153

Claude Code Version

2.1.173 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

Environment details

  • OS: Windows 11 Pro, build 10.0.26200
  • Shell: PowerShell 7.6.2 (pwsh.exe) launched from Start menu shortcut
  • Terminal wrap: Win11 default terminal application — DelegationConsole / DelegationTerminal registry values = {00000000-0000-0000-0000-000000000000} (= "Let Windows decide" — wraps via ConPTY into Windows Terminal 1.24.11321 or modern conhost). WT_SESSION env var is empty in this wrap mode, set when launched explicitly via wt.exe.
  • PSReadLine: 2.4.5
  • Console output mode: 0x7 (ENABLE_PROCESSED_OUTPUT | ENABLE_WRAP_AT_EOL_OUTPUT | ENABLE_VIRTUAL_TERMINAL_PROCESSING) — VT processing enabled
  • Last known good CC version: 2.1.153 (smooth, cursor visible, no orphan processes, no flashing windows on startup)
  • First reported broken: ~2.1.170
  • Tested and confirmed broken: 2.1.173
  • Hardware: High-spec desktop (not a perf bottleneck — 2.1.153 runs flawlessly in identical setup)

Why this matters

Windows is a primary platform target. The default Win11 launch path (Start menu PowerShell shortcut → pwsh.exe wrapped by ConPTY) is the most common setup for Windows users — and that's exactly the path where this regression hits. Users who don't know about disableAgentView will perceive CC as "broken after upgrade" and downgrade.

Workaround for affected users

Add to ~/.claude/settings.json:

{
  "disableAgentView": true
}

Tradeoff: loses claude agents dashboard, --bg, /background, and the on-demand daemon. For pure interactive use, this is a no-op.

View original on GitHub ↗

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