[BUG] Chrome extension connection fails on Windows - named pipe EADDRINUSE conflict
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 Description
Claude Code cannot connect to the Chrome browser extension on Windows. All calls to tabs_context_mcp return "Browser extension is not connected."
Environment
- Windows 10 (MSYS_NT-10.0-19045)
- Claude Code installed via miniconda3 (node.exe)
- Chrome with Claude extension installed (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
- Claude Desktop also installed
Root Cause Found
The native host process (chrome-native-host) creates a named pipe \\.\pipe\claude-mcp-browser-bridge-{username}. When testing the native host directly, it fails with:
Socket server error: Error: listen EADDRINUSE: address already in use \\.\pipe\claude-mcp-browser-bridge-cough
Chrome automatically spawns the native host process when the extension loads, which grabs the pipe. Claude Code's MCP client then cannot connect.
Steps Taken
- Renamed Claude Desktop's native messaging host config (
com.anthropic.claude_browser_extension.json->.json.disabled) to prevent Desktop from intercepting - Verified Claude Code's native host config exists at
AppData\Roaming\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.jsonand points to the correct bat file - Verified the bat file, node.exe, and cli.js all exist at the expected paths
- Killed stale chrome-native-host node processes - new ones respawn via Chrome but connection still fails
- Restarted Chrome multiple times
- Extension is installed in the Default Chrome profile and the extension ID matches the allowed_origins in the host config
What Should Happen?
tabs_context_mcp should connect to the Chrome extension and return tab information.
Error Messages/Logs
Socket server error: Error: listen EADDRINUSE: address already in use \\.\pipe\claude-mcp-browser-bridge-cough
Every call to tabs_context_mcp returns: "Browser extension is not connected."
Steps to Reproduce
- Install Claude Code on Windows 10 via miniconda3
- Install the Chrome Claude extension (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
- Also have Claude Desktop installed
- Open Chrome - the extension automatically spawns the native host process which grabs the named pipe
\\.\pipe\claude-mcp-browser-bridge-{username} - In Claude Code, call
tabs_context_mcp - Observe error: "Browser extension is not connected."
- Test native host directly - see EADDRINUSE error because Chrome already owns the pipe
- Kill stale chrome-native-host processes - Chrome respawns them, connection still fails
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Actual Behavior: Every call returns "Browser extension is not connected" regardless of Chrome state.
Terminal: MSYS_NT-10.0-19045 (Git Bash / MSYS2 environment)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗