[Windows] EADDRINUSE: multiple --claude-in-chrome-mcp processes compete for the same named pipe

Resolved 💬 3 comments Opened Feb 8, 2026 by ko-dhinngumuzuiyoo Closed Feb 8, 2026

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-mcp appears during failures (user observed up to 5 instances)
  • Killing all Claude-related node.exe clears 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_extension
  • com.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

  1. No single-instance guard for the MCP bridge pipe; multiple processes try to bind the same pipe.
  2. Respawn/retry behavior may spawn duplicates under certain conditions (Chrome restart, sleep/wake, profile switching).
  3. 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)

  1. Install Claude Code CLI globally via npm on Windows
  2. Install Claude in Chrome Beta extension
  3. Open Chrome (single profile) with the extension active
  4. Run Claude Code with Chrome integration (/chrome or claude --chrome)
  5. Observe occasional multiple --claude-in-chrome-mcp processes and EADDRINUSE
  6. Note: reproduction is intermittent — possible triggers include Chrome restart, multiple profiles, and sleep/wake cycles

Workarounds (confirmed by user)

  • Kill Claude-related node.exe processes (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

---

This is my first issue on this repository. If there is anything missing or incorrect, I would appreciate any feedback. Thank you.

View original on GitHub ↗

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