[BUG] [Claude Desktop v1.569.0] MCP servers spawn duplicate processes on every restart

Resolved 💬 4 comments Opened Apr 4, 2026 by gabrielperinn-sys Closed May 14, 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?

Claude Desktop v1.569.0 on macOS spawns duplicate instances of every configured MCP server on each app restart. With 3 MCP servers configured, 6 Python processes run instead of 3 (plus 6 disclaimer wrapper processes = 12 total).

Environment

  • Claude Desktop: v1.569.0
  • - OS: macOS Darwin 25.3.0 (Apple M1, 8 GB RAM)
  • - - MCP Servers: 3 configured (email via mcp-email-client, 2x Python stdio servers)

Steps to Reproduce

  1. Configure 2+ MCP servers in claude_desktop_config.json
  2. 2. Launch Claude Desktop
  3. 3. Run ps aux | grep mcp — observe 2x the expected number of server processes
  4. 4. Quit and relaunch — duplication persists

Impact

  • Memory exhaustion: On 8 GB M1 MacBook Air, RAM reaches 92% usage, causing heavy swap (362K swapouts) and app freezing
  • - Disk I/O storms: 2.1 GB/hour written to disk, generating repeated crash reports (9 in 5 days)
  • - - EventEmitter memory leak: MaxListenersExceededWarning logged repeatedly for AutoUpdater and AppPreferences listeners

Notes

  • Setting launchPreviewPersistSession: false does NOT prevent the duplication
  • - Manually killing the older set of duplicate PIDs is the only workaround
  • - - The duplication occurs consistently across multiple restarts

What Should Happen?

Each configured MCP server should have exactly 1 process (+ 1 disclaimer wrapper) running at any time. Restarting Claude Desktop should not create additional duplicate server processes.

Error Messages/Logs

Steps to Reproduce

  1. Configure 3+ MCP servers in ~/Library/Application Support/Claude/claude_desktop_config.json:

```json
{
"mcpServers": {
"server1": { "command": "python3", "args": ["server1.py"] },
"server2": { "command": "python3", "args": ["server2.py"] },
"server3": { "command": "mcp-email-client", "args": [] }
}
}

Launch Claude Desktop
Run ps aux | grep -E "server1|server2|mcp-email" | grep -v grep
Observe: each server has 2 processes instead of 1 (+ 2 disclaimer wrappers each)
Quit Claude Desktop (Cmd+Q) and relaunch
Run the same ps command — duplication persists or worsens

Hardware: Apple M1 MacBook Air, 8 GB RAM

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

2.1.87`

Claude Code Version

1.569.0

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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