[Windows] EADDRINUSE: multiple --claude-in-chrome-mcp processes compete for the same named pipe
Summary
Multiple Claude-related node processes appear and compete for the same named pipe (\\.\pipe\claude-mcp-browser-bridge-<username>), resulting in EADDRINUSE and MCP tools becoming unavailable until restart.
Environment
- OS: Windows 11
- Chrome Extension: Claude in Chrome Beta (ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn) - Claude Code CLI:
@anthropic-ai/claude-code(npm global install) - Claude Code version: 2.1.34 (current install; issue also seen on earlier versions, stable on downgrade)
- Node:
C:\Program Files\nodejs\node.exe
Observed
EADDRINUSE: address already in use \\.\pipe\claude-mcp-browser-bridge-<username>- At least one extra node process with
--claude-in-chrome-mcpappears during failures (user observed up to 5 instances) - Killing all Claude-related
node.execlears the error, but the MCP tools do not auto-recover unless Claude Code and Chrome are restarted - Healthy process tree (confirmed via
Get-CimInstance Win32_Process):
chrome.exe (--profile-directory="Profile 1")
→ cmd.exe (chrome-native-host.bat chrome-extension://fco.../ --parent-window=0)
→ node.exe (cli.js --chrome-native-host)
Actual Logs
1. Multiple processes competing (PowerShell Get-CimInstance Win32_Process output)
ProcessId CommandLine
--------- -----------
3652 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --claude-in-chrome-mcp
29472 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --chrome-native-host
3024 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --claude-in-chrome-mcp
13204 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --claude-in-chrome-mcp
27512 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --claude-in-chrome-mcp
1948 "C:\Program Files\nodejs\node.exe" ...\@anthropic-ai\claude-code\cli.js --claude-in-chrome-mcp
5 instances of --claude-in-chrome-mcp + 1 instance of --chrome-native-host running simultaneously.
2. Healthy process tree (parent chain confirmed in an earlier session)
chrome.exe PID 19260 (--profile-directory="Profile 1")
→ cmd.exe PID 21780 (...\chrome-native-host.bat chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/ --parent-window=0
stdin < \\.\pipe\chrome.nativeMessaging.in.df69a1b6771e1955
stdout > \\.\pipe\chrome.nativeMessaging.out.df69a1b6771e1955)
→ node.exe PID 10480 (...\cli.js --chrome-native-host)
3. After killing all processes, MCP bridge is gone
After running Stop-Process on all Claude-related node.exe:
> mcp__claude-in-chrome__tabs_context_mcp
Error: No such tool available: mcp__claude-in-chrome__tabs_context_mcp
I observed a single --claude-in-chrome-mcp process respawn, but Claude Code still could not access any mcp__claude-in-chrome__* tools.
Notes (Host names)
The extension JS (service-worker.ts-*.js) contains two native host name candidates:
com.anthropic.claude_browser_extensioncom.anthropic.claude_code_browser_extension
Both can be registered in the Windows registry simultaneously. This makes the active host less obvious to the user, though it is not confirmed as a direct cause of EADDRINUSE.
Hypotheses
- No single-instance guard for the MCP bridge pipe; multiple processes try to bind the same pipe.
- Respawn/retry behavior may spawn duplicates under certain conditions (Chrome restart, sleep/wake, profile switching).
- Recovery flow is fragile: once the bridge process is killed, there is no automatic restart — Claude Code loses all
mcp__claude-in-chrome__*tools until a full restart.
Steps to Reproduce (intermittent)
- Install Claude Code CLI globally via npm on Windows
- Install Claude in Chrome Beta extension
- Open Chrome (single profile) with the extension active
- Run Claude Code with Chrome integration (
/chromeorclaude --chrome) - Observe occasional multiple
--claude-in-chrome-mcpprocesses and EADDRINUSE - Note: reproduction is intermittent — possible triggers include Chrome restart, multiple profiles, and sleep/wake cycles
Workarounds (confirmed by user)
- Kill Claude-related
node.exeprocesses (with--claude-in-chrome-mcp/--chrome-native-host), then restart Chrome and Claude Code - Run Chrome with only one profile
- Downgrade Claude Code to a stable older version
Expected Behavior
- Only one process should bind to the named pipe at a time
- A new instance should detect and reuse/wait rather than crash
- MCP bridge should auto-recover if its process terminates
Related Issues
- https://github.com/anthropics/claude-code/issues/20943
- https://github.com/anthropics/claude-code/issues/16691
---
This is my first issue on this repository. If there is anything missing or incorrect, I would appreciate any feedback. Thank you.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗