[BUG] Windows: idle Claude Code session processes pin one thread at 100% CPU for hours (desktop app)
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-WebRequestthat 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):
- 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.
- 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.
- Stop interacting and leave the session idle (no turn running; the session list shows isRunning: false).
- 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.
- 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%.
- 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.
- 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.