Process leak: Update checker spawns infinite pnpm chain

Resolved 💬 3 comments Opened Jan 8, 2026 by tggreene Closed Feb 22, 2026

Bug Report

Summary: Claude Code's update checker causes a catastrophic process leak where each pnpm view @anthropic-ai/claude-code@latest spawns another instance, creating a chain of thousands of processes.

Steps to Reproduce:

  1. Run claude --dangerously-skip-permissions
  2. Wait for update check to trigger
  3. Observe exponential growth of pnpm processes

Evidence:

Parent: claude --dangerously-skip-permissions (PID 20495)
  └─ pnpm view @anthropic-ai/claude-code@latest (PID 55040)
      └─ pnpm view @anthropic-ai/claude-code@latest (PID 55050)
          └─ pnpm view @anthropic-ai/claude-code@latest (PID 55046)
              └─ ... infinite chain ...

Impact:

  • Reached 5,000+ pnpm processes
  • System memory exhaustion
  • Requires manual kill of all pnpm processes

Expected: Single update check process that properly cleans up after completion

Environment:

  • macOS Darwin 25.1.0
  • pnpm (version via mise)

Workaround: Kill all pnpm processes: pkill -9 pnpm

Suggested Fix: Ensure update checker properly awaits spawned process and prevents recursive spawning.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗