[Windows] Chrome MCP bridge fails - socket path mismatch between native host and MCP bridge
Resolved 💬 3 comments Opened Jan 30, 2026 by Farhaan96 Closed Feb 2, 2026
Bug Description
On Windows, the Claude-in-Chrome MCP bridge (--claude-in-chrome-mcp) cannot connect to the native host (--chrome-native-host) due to a socket path mismatch.
Root Cause
The native host creates a Windows named pipe using ZX1():
\\.\pipe\claude-mcp-browser-bridge-<username>
But the MCP bridge's getSocketPaths function (IJ7()) constructs paths using os.tmpdir():
C:\Users\<user>\AppData\Local\Temp\claude-mcp-browser-bridge-<username>
These are completely different path types (Windows named pipe vs. filesystem path), so the MCP bridge never discovers or connects to the native host's pipe.
Why It Works on Linux/macOS
On non-Windows platforms:
- Native host: Creates Unix domain socket at
/tmp/claude-mcp-browser-bridge-<user>/<pid>.sock - MCP bridge: Scans
/tmp/claude-mcp-browser-bridge-<user>/for.sockfiles - Both use the same
/tmp/directory, so they find each other.
On Windows:
- Native host: Creates named pipe at
\\.\pipe\claude-mcp-browser-bridge-<user>(viaZX1()) - MCP bridge: Looks at
C:\Users\<user>\AppData\Local\Temp\claude-mcp-browser-bridge-<user>(viaIJ7()usingos.tmpdir()) - Path mismatch — bridge never finds the pipe.
Suggested Fix
IJ7() should include the Windows named pipe path (ZX1() result) in the returned array when running on Windows:
if (platform() === "win32") {
const pipePath = ZX1(); // \\.\pipe\claude-mcp-browser-bridge-<user>
if (!A.includes(pipePath)) A.push(pipePath);
}
Environment
- Windows 10/11
- Claude Code v2.1.25 (latest)
- Node.js v22.18.0
- Chrome extension v1.0.41
Reproduction
- Install Claude Code on Windows via npm
- Install Claude Chrome extension
- Start Claude Code with chrome integration enabled
- Try
mcp__claude-in-chrome__tabs_context_mcp— returns "Browser extension is not connected" - Verify both processes are running: native host (--chrome-native-host) and MCP bridge (--claude-in-chrome-mcp)
- The named pipe exists at
\\.\pipe\claude-mcp-browser-bridge-<user>but MCP bridge never connects to it
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗