[BUG]

Resolved 💬 3 comments Opened Apr 14, 2026 by Dominik-Patryk Closed Apr 18, 2026

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?

Bug Report: Claude Desktop zombie Helper processes on macOS

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

Environment

  • OS: macOS 12.7.6 Monterey (Mac mini)
  • Claude Desktop: 1.2581.0
  • Claude Code: v2.1.90

What's Wrong?

Claude Desktop spawns multiple "Claude Helper" processes that become zombies (0 bytes memory, 0 threads) and are never cleaned up between sessions. After accumulating enough zombie processes, Claude Desktop becomes unresponsive and cannot be launched from the menu bar without manually force-quitting all Helper processes first.

Steps to Reproduce

  1. Launch Claude Desktop
  2. Use it normally for a session
  3. Close/minimize Claude Desktop
  4. Open Activity Monitor → filter by "Claude"
  5. Observe multiple "Claude Helper", "Claude Helper (Renderer)", and "Claude Helper (Plugin)" processes with 0 bytes memory and 0 threads
  6. Repeat over 2-3 sessions without force-quitting — zombie count grows
  7. Eventually Claude Desktop fails to launch from menu bar

Observed Behavior

Activity Monitor snapshot 1 (Memory tab):
| Process | Memory | Threads | PID |
|---------|--------|---------|-----|
| Claude Helper | 0 bytes | 0 | 1207 |
| Claude Helper (Renderer) | 0 bytes | 0 | 1213 |
| Claude Helper (Renderer) | 0 bytes | 0 | 1210 |
| Claude Helper (Plugin) | 0 bytes | 0 | 1345 |
| Claude Helper | 0 bytes | 0 | 1237 |
| Claude Helper (Plugin) | 0 bytes | 0 | 1346 |
| Claude Helper (Renderer) | 0 bytes | 0 | 1212 |
| Claude Helper (Plugin) | 0 bytes | 0 | 1238 |
| Claude Helper (Plugin) | 0 bytes | 0 | 1343 |
| Claude Helper (Renderer) | 0 bytes | 0 | 1875 |
| Claude Helper (Renderer) | 0 bytes | 0 | 2040 |
| Claude Helper | 30.4 MB | 9,556 | 1209 |
| Claude (main) | 5.0 MB | 40 | 1204 |

11 zombie Helper processes + 1 helper with abnormal thread count (9,556).

Activity Monitor snapshot 2 (Network tab, after restart):
Same pattern with new PIDs (706-1599): 8 zombie helpers with 0 bytes, main helper at 29.5 MB with 3,634 threads.

Expected Behavior

Helper processes should be properly terminated and cleaned up when:

  • A session ends
  • Claude Desktop is closed
  • A new session starts

The process lifecycle should not require manual user intervention.

Current Workaround

killall "Claude Helper" 2>/dev/null; killall "Claude" 2>/dev/null

Must be run daily before launching Claude Desktop.

Additional Context

  • Issue confirmed independently by both Claude Sonnet 4.5 and Claude Opus 4.6 analyzing Activity Monitor screenshots
  • The zombie processes appear to be Electron sub-processes (Renderer, Plugin types) that lost IPC connection to the main process
  • The one surviving helper with 9,556 threads suggests a thread leak in addition to the process cleanup issue
  • Screenshots available upon request

Secondary Issue: MCP Google Drive and Slack

While investigating, also discovered that MCP connectors for Google Drive (drivemcp.googleapis.com) and Slack (mcp.slack.com) connect successfully but return 0 tools during discovery. Gmail (7 tools) and Google Calendar (8 tools) work correctly on the same account. Confirmed by both Sonnet 4.5 and Opus 4.6.

What Should Happen?

Helper processes should be automatically cleaned up when a session ends or Claude Desktop is closed/minimized. The process lifecycle should not require manual user intervention (daily killall).

Error Messages/Logs

No error logs in Console.app (macOS) — zombie processes die silently.

Activity Monitor data:
- 11 Claude Helper processes showing 0 bytes memory, 0 threads
- 1 Claude Helper with 30.4 MB and 9,556 threads (resource leak)
- PIDs: 1207, 1210, 1212, 1213, 1237, 1238, 1343, 1345, 1346, 1875, 2040
- Main process (PID 1204): 5.0 MB, 40 threads (normal)

Console.app log (only entries):
AUTHREQ_ATTRIBUTION: msgID=156.75, accessing com.anthropic.claudefordesktop, pid=5664
AUTHREQ_SUBJECT: msgID=156.75, subject=com.anthropic.claudefordesktop

Steps to Reproduce

  1. Launch Claude Desktop (v1.2581.0) on macOS 12.7.6 Monterey (Mac mini)
  2. Use Claude normally for one session
  3. Close or minimize Claude Desktop
  4. Open Activity Monitor → filter by "Claude"
  5. Observe multiple "Claude Helper", "Claude Helper (Renderer)", and "Claude Helper (Plugin)" processes with 0 bytes memory and 0 threads
  6. Repeat steps 1-4 over 2-3 sessions without force-quitting — zombie count grows
  7. Eventually Claude Desktop becomes unresponsive and cannot launch from menu bar
  8. Only workaround: killall "Claude Helper" in Terminal before each launch

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

Claude Code version: 2.1.90

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Claude Desktop version: 1.2581.0, macOS 12.7.6 Monterey, Mac mini. Issue also affects MCP connectors — Google Drive and Slack return 0 tools.

View original on GitHub ↗

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