[BUG] [Claude Desktop v1.569.0] MCP servers spawn duplicate processes on every restart
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
- Configure 2+ MCP servers in
claude_desktop_config.json - 2. Launch Claude Desktop
- 3. Run
ps aux | grep mcp— observe 2x the expected number of server processes - 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: falsedoes 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
- 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_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗