v2.1.20 regression: High idle CPU usage (25-40%) on macOS
Description
Claude Code v2.1.20 exhibits consistently high CPU usage (25-40%) on macOS, even when the session is completely idle. This is a regression specific to v2.1.20 - older versions running on the same machine use near-zero CPU when idle.
Environment
- Claude Code version: 2.1.20
- OS: macOS 15.6.1 (Sequoia)
- Hardware: Apple M1 Max, 10 cores, 32GB RAM
- Shell: zsh
Evidence of Regression
CPU comparison across multiple Claude versions running simultaneously on the same machine:
| Version | PID | Current CPU | Status |
|---------|-----|-------------|--------|
| 2.1.12 | 18265 | 0.1% | Idle |
| 2.1.12 | 27162 | 0.4% | Idle |
| 2.1.14 | 58491 | 0.0% | Idle |
| 2.1.14 | 65051 | 0.1% | Idle |
| 2.1.17 | 1341 | 0.1% | Idle |
| 2.1.17 | 11539 | 0.3% | Idle |
| 2.1.20 | 32557 | 27.6% | Idle |
All older versions are at <1% CPU when idle. Only v2.1.20 shows high CPU.
CPU Samples During Idle
5 samples over 15 seconds while session was completely idle (no user interaction):
Sample 1: 29.7%
Sample 2: 36.7%
Sample 3: 24.8%
Sample 4: 33.9%
Sample 5: 27.4%
Average: ~30% CPU while doing nothing.
Process Info
62 open file descriptors
8 active TCP connections including:
- 160.79.104.10:https (Anthropic API?) x5 connections
- GitHub CDN
- Google services
Reproduction
- Update to v2.1.20
- Start a Claude Code session
- Wait for it to be idle (no commands running)
- Monitor with:
ps aux | grep claude - Observe ~25-40% CPU persisting during idle
Expected Behavior
Idle CPU should be minimal (<5%), consistent with older versions (2.1.12-2.1.17) which all show <1% when idle.
MCP Servers Configured
- context7 (HTTP)
- playwright (stdio via npx)
- figma (HTTP)
- supabase, n8n, stripe, wordpress, cloudflare
The older version processes also had MCP servers configured and still showed <1% CPU.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗