[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 .sock files
  • 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> (via ZX1())
  • MCP bridge: Looks at C:\Users\<user>\AppData\Local\Temp\claude-mcp-browser-bridge-<user> (via IJ7() using os.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

  1. Install Claude Code on Windows via npm
  2. Install Claude Chrome extension
  3. Start Claude Code with chrome integration enabled
  4. Try mcp__claude-in-chrome__tabs_context_mcp — returns "Browser extension is not connected"
  5. Verify both processes are running: native host (--chrome-native-host) and MCP bridge (--claude-in-chrome-mcp)
  6. The named pipe exists at \\.\pipe\claude-mcp-browser-bridge-<user> but MCP bridge never connects to it

View original on GitHub ↗

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