[BUG] Windows: idle Claude Code session processes pin one thread at 100% CPU for hours (desktop app)

Status Open
Reported on v2.1.293
Maintainer reply None cached
Activity 0 comments · opened Oct 15, 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?

Each Claude Code process that the desktop app keeps alive for a session eventually pins one thread at 100% of a core
and keeps it there, including when the session is idle (no turn running, isRunning: false in the session list).
Task Manager shows ~3.6% per process on this 28-thread machine, which is one full core per session.

Per-thread sampling (Get-Process -Id <pid> → Threads[].TotalProcessorTime, 3–5 s deltas):

| Session process | Started | Busy thread | Share of a core | Busy thread CPU time | Process wall time | State at the time |
|---|---|---|---|---|---|---|
| A (pid 45444) | 2026-10-14 10:21 | tid 47496 (started with the process; other 47 threads ~0) | 100% | 47,372 s | 22.8 h | the session in active use (long session with many tool calls) |
| B (pid 86204) | 2026-10-14 18:52 | tid 79880 | 101% | 41,241 s | ~13 h | idle for ~10 h |
| C (pid 38084) | 2026-10-14 22:13 | tid 65236 | 100.5% | 33,290 s | ~9.7 h | idle for ~7 h |
| D (pid 58100) | 2026-10-15 07:30 | — | 0% | — | ~0.5 h | idle |

  • B and C spent ~88% and ~95% of their lifetime pinned, so the spin starts early and does not stop on its own.
  • D, a freshly started session process, did not spin.
  • Killing B and C (taskkill /T) released the CPU, and the sessions can be resumed later from the sidebar. So restarting the

session process works around it.

  • Within each affected process, the CPU is in a single thread that has existed since process start (likely the main/event-loop

thread). Child processes (MCP servers, shells) are at 0%.

  • C also had a background Bash/PowerShell task that never produced output (an Invoke-WebRequest that was moved to the

background after the 120 s timeout). B did not have one, so that is probably not the cause.

What Should Happen?

An idle session process should use ~0% CPU.

Error Messages/Logs

No error messages. The symptom is CPU usage only (see the per-thread table above).

Steps to Reproduce

I don't have a deterministic trigger yet. This is how it showed up for me (3 of 4 session processes were affected):

  1. On Windows 11 (build 26200), open Claude Desktop 2.26454.2.0 and start a session in the Code tab

(Claude Code 2.1.293). The session has stdio MCP servers configured (uvx mcp-google-sheets,
uvx blender-mcp, node rea-agents) and Remote Control enabled.

  1. Use the session normally for a while: several turns with tool calls (PowerShell/Bash, file edits).

In one of the affected sessions a PowerShell command hit the 120 s timeout and was moved to the background.

  1. Stop interacting and leave the session idle (no turn running; the session list shows isRunning: false).
  2. Open Task Manager, expand "Claude", and look at the "Claude Code" process for that session:

it sits at ~3.6% CPU on a 28-thread CPU, i.e. one full core.

  1. Measure per-thread CPU over a few seconds (PowerShell):

``powershell
$p = Get-Process -Id <pid>; $a = @{}; $p.Threads | % { $a[$_.Id] = $_.TotalProcessorTime.TotalSeconds }
Start-Sleep 5; (Get-Process -Id <pid>).Threads | % { "{0} {1:N0}%" -f $_.Id, (($_.TotalProcessorTime.TotalSeconds - $a[$_.Id]) / 5 * 100) }
``
One thread (present since process start) is at ~100%; all other threads, and all child processes, are at ~0%.

  1. The spin continues for hours while idle. Two of the processes had spent 88% and 95% of their whole

lifetime pinned, so it starts early (within roughly the first hour) and never stops on its own.

  1. A freshly started session process (about 25 minutes old) was at 0%.

taskkill /PID <pid> /T /F releases the CPU, and the session can be reopened from the sidebar.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.293

Platform

Other

Operating System

Windows

Terminal/Shell

Other

Additional Information

Environment

  • Claude Code 2.1.293, spawned by Claude Desktop 2.26454.2.0 (MSIX) from the Code tab, not from a terminal

(claude.exe --output-format stream-json --input-format stream-json ... --model claude-opus-5-5)

  • Windows 11 Pro 10.0.26200, Intel Core i7-14700K (28 logical cores), 64 GB RAM

Impact

With three sessions open, three cores were burned continuously (~43,000 CPU-seconds per process over a day). On a laptop this
would drain the battery; here it competes with long-running local jobs.

Possibly related

  • #88914 Idle sessions burn 0.3–5% CPU because timers keep triggering garbage collection. Here it is a full core.
  • #89772 Bash tool dispatch blocks the event loop ~80 s in a CPU spin. Here the spin lasts for hours and persists while idle.

Notes

I can provide more per-thread samples if useful. I did not attach a native profiler, so I do not have a stack for the busy thread.

View original on GitHub ↗