anthropics / anthropics/claude-code

[BUG] Desktop app (Windows): Electron main process pins a full CPU core during agent work — whole app freezes; reproduces across 1.32885 and 1.49585

Open
#93,121 0 comments 0 reactions 0 assignees View on GitHub
area:desktop bug has repro performance platform:windows
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) 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

- **App**: Claude desktop app 1.49585.0.0 (MSIX, `Claude_pzs8sxrjxfjjc`); also reproduced on 1.32885.1.0
- **Bundled Claude Code runtime**: 2.1.260 (previously reproduced on 2.1.234)
- **OS**: Windows 11 Pro 25H2, build 10.0.26200, September 2026 cumulative installed
- **Hardware**: desktop, 20 logical cores, Intel UHD 770 (driver 32.0.101.7088)

## Symptoms

Intermittent freezes of the entire app — input, scrolling, all UI — correlated
with agent activity (file generation, code execution, streamed tool output).
Typing lag between freezes. Ongoing since ~mid-August 2026 across app updates.

## Measurements

Per-process CPU deltas sampled over 6 s during freeze episodes
(`TotalProcessorTime`; process types from `--type=` flags):

**App 1.49585 / runtime 2.1.260 (2026-09-09), 3 session tabs open:**

| Process | Mem (MB) | CPU-sec in 6 s |
|-----------------------------|----------|----------------|
| **Electron main** (no --type) | 520 | **6.31** |
| other app processes (each) | 122–461 | ≤ 0.55 |
| session children (each) | ~280–296 | ≤ 0.11 |

**App 1.32885 / runtime 2.1.234 (2026-09-05), 4 session tabs open:**

| Process | Mem (MB) | CPU-sec in 6 s |
|-------------------|----------|----------------|
| **Electron main** | 378 | **4.61** |
| renderer | 447 | 0.27 |
| gpu-process | 226 | 0.17 |
| session children | 420–489 | ≤ 0.06 |

The main process saturates ≥1 core while renderer and GPU are essentially
idle; since window input and IPC route through the Electron main process,
this explains the whole-app freeze. Each open session tab runs a
`claude.exe --output-format stream-json --verbose ...` child whose streamed
output (including full tool results) the main process ingests single-threaded;
freezes coincide with bursts of this traffic.

## Ruled out on this machine (tested individually)

- Norton 360: fully uninstalled (was injecting aswhook.dll; removal did not fix)
- Gigabyte kernel drivers (gdrv3/uiomap): unloaded and disabled — no change
- Grammarly / screen-recorder hooks: exited — no change
- GPU driver: updated Oct-2024 → Jun-2026 build — no change
- Windows: Aug + Sep 2026 cumulatives — no change
- GPU/disk/network load during freezes: all near idle (5% GPU, 0.2 MB/s disk)
- A concurrent Adobe Acrobat freeze issue on the same machine was separately
traced to an Adobe-acknowledged Acrobat 26.x bug — unrelated

**Clear Cache and Restart** gives temporary relief; lag/freezes return with use.

## Suggested direction

Move stream-json ingestion/persistence for session children off the Electron
main thread, or batch/throttle it. Severity scales with number of open session
tabs and with session length.

## Possibly related
#55149, #42045, #31643

### What Should Happen?

No freeze should happen

### Error Messages/Logs

```shell

```

### Steps to Reproduce

1. On Windows 11, open the Claude desktop app with 3–4 session tabs (each tab spawns a `claude.exe --output-format stream-json` child process).
2. In one session, ask Claude to do output-heavy agent work — e.g. generate a PowerPoint/large file, or run code producing large tool results.
3. While output streams, interact with the app: type in the input box, scroll the conversation.
4. Observe: typing lags by seconds, then the entire app window becomes unresponsive (all tabs — input, scrolling, buttons).
5. In Task Manager, observe the Claude process group at ~5% CPU on a 20-core machine (= one core pinned) with "Very high" power usage. Per-process sampling shows the Electron main process (Claude.exe, no `--type=` flag) consuming a full core while renderer, GPU, and session-child processes stay near idle.

Frequency: intermittent but reliably triggered by heavy streamed output; worsens with session length and number of open tabs. Temporarily relieved by Help → Troubleshooting → Clear Cache and Restart; returns with use.

### Claude Model

Not sure / Multiple models

### Is this a regression?

Yes, this worked in a previous version

### Last Working Version

_No response_

### Claude Code Version

2.1.260 (bundled in Claude desktop app 1.49585.0.0, Windows MSIX). Also reproduced on 2.1.234 / app 1.32885.1.0.

### Platform

Anthropic API

### Operating System

Windows

### Terminal/Shell

Other

### Additional Information

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

No source files or tests are named. Start by reproducing the Windows freeze with three to four session tabs and output-heavy agent work, then inspect the Electron main process's ingestion of streamed `claude.exe --output-format stream-json` output. Done means heavy streamed output no longer makes the app's input, scrolling, or other UI unresponsive.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron
Domain
desktop, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.