[BUG] Desktop (Windows): a session and its linked sessions each keep a claude.exe process at 100% of one core after their turns end; quit warns a task is active
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?
Environment: Claude Desktop 2.42304.0 (MSIX build, bundled Claude Code 2.1.299), Windows 11 Pro 10.0.26200, x64. Remote Control on for the affected sessions.
What happens: a Code-tab session (Opus, effort xhigh, permission mode auto) started three linked sessions with start_session (Sonnet, effort high). Each linked session wrote one doc and ended its turn between 23:52 and 23:53 UTC, and the parent ended its turn at 00:15 UTC. The session list then reported all four as isRunning: false, but their four claude.exe --output-format stream-json ... processes each stayed at about one full core for over two hours:
| Process | Started (local) | CPU time | CPU over a 5 s sample |
|---|---|---|---|
| Parent (Opus, xhigh) | 7:45:06 PM | ~7,600 s | 5.3 s |
| Linked session 1 (Sonnet, high) | 7:49:16 PM | ~7,570 s | 5.5 s |
| Linked session 2 (Sonnet, high) | 7:49:16 PM | ~7,560 s | 5.5 s |
| Linked session 3 (Sonnet, high) | 7:49:16 PM | ~7,550 s | 5.6 s |
- Each process's CPU time roughly matched its age, so each was spinning from soon after it started, through its turn and long after it.
- Each process's only child was
conhost.exe; no shell, MCP server or tool process was running under it. - Memory stayed flat at ~220–270 MB per process.
- The three linked sessions were all launched with
--add-dir=%APPDATA%\Claude\side-session-notes\local_<parent-id>. - Other idle Code-tab session processes running at the same time on the same Claude Code version, including linked sessions of other parents, stayed near 0% CPU.
- Quitting the app showed a prompt saying a task was still active, although no session was running.
Workaround: killing the four PIDs. The transcripts were already saved, so nothing was lost, and total CPU across Claude processes fell from ~4.4 cores to ~0.5.
What Should Happen?
When a session's turn ends, its process goes idle (near 0% CPU). Quitting doesn't warn about an active task when no session is running.
Error Messages/Logs
No relevant logs. The desktop app logs and ~/.claude/debug had nothing from this run.
Each session's transcript ends normally with a stop_hook_summary entry (preventedContinuation: false, no hookErrors).
Steps to Reproduce
I haven't reproduced it a second time. These are the steps that led to it:
- In Claude Desktop on Windows, open a Code-tab session with Opus at effort
xhigh, permission modeauto, Remote Control on. - Have it start three linked sessions with
start_session(Sonnet, efforthigh), each writing one doc into the repo. - Let all four finish their turns.
- In Task Manager, each of the four session
claude.exeprocesses stays at about 100% of one core. Quitting the app warns that a task is active.
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.299 (bundled with Claude Desktop 2.42304.0)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Terminal: the Claude Desktop Code tab, not a terminal. I can share the transcripts privately if that helps.
Possibly related: #19393 (Claude Code instances at 100%+ CPU while idle). #96378 involves V8 GC thrash with growing memory, but memory stayed flat here.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗