[Windows] Chrome integration broken - MCP server uses Unix socket paths instead of Named Pipes (regression in v2.1.20+)
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?
Claude in Chrome browser integration stopped working on Windows after upgrading from v2.1.17 to v2.1.20+. The tabs_context_mcp tool returns "Browser extension is not connected."
Root cause: The native host (claude.exe --chrome-native-host) creates a Windows Named Pipe at \\.\pipe\claude-mcp-browser-bridge-<username>, but starting from ~v2.1.20, the MCP server (claude.exe --claude-in-chrome-mcp) tries to connect via Unix domain sockets at %TEMP%\claude-mcp-browser-bridge-<username> and /tmp/claude-mcp-browser-bridge-<username>. Neither path exists — the two processes can't find each other.
Working version: v2.1.17 (confirmed Jan 23)
Broken versions: v2.1.20, v2.1.22 (confirmed Jan 27-28)
What Should Happen?
The MCP server (--claude-in-chrome-mcp) should connect to the Windows Named Pipe at \\.\pipe\claude-mcp-browser-bridge-<username> on Windows, matching the IPC mechanism used by the native host (--chrome-native-host).
This worked correctly in v2.1.17 and earlier.
Error Messages/Logs
Debug log from broken session (v2.1.22, ~/.claude/debug/<session>.txt):
2026-01-28T08:35:24.450Z [DEBUG] [Claude in Chrome] Starting MCP server
2026-01-28T08:35:24.459Z [DEBUG] [Claude in Chrome] MCP server started
2026-01-28T08:36:46.218Z [INFO] [Claude in Chrome] Executing tool: tabs_context_mcp
2026-01-28T08:36:46.220Z [INFO] [Claude in Chrome] Adding socket to pool: C:\Users\<username>\AppData\Local\Temp\claude-mcp-browser-bridge-<username>
2026-01-28T08:36:46.220Z [INFO] [Claude in Chrome] Adding socket to pool: /tmp/claude-mcp-browser-bridge-<username>
2026-01-28T08:36:46.235Z [INFO] [Claude in Chrome] Socket error (code: ENOENT): Error: connect ENOENT C:\Users\<username>\AppData\Local\Temp\claude-mcp-browser-bridge-<username>
2026-01-28T08:36:46.235Z [INFO] [Claude in Chrome] Socket error (code: ENOENT): Error: connect ENOENT /tmp/claude-mcp-browser-bridge-<username>
2026-01-28T08:36:51.233Z [INFO] [Claude in Chrome] No connected sockets in pool
Compare with working session (v2.1.17):
[Claude in Chrome] Attempting to connect to: \\.\pipe\claude-mcp-browser-bridge-<username>
[Claude in Chrome] Successfully connected to bridge server
Steps to Reproduce
- Install Claude Code v2.1.20+ on Windows
- Install Claude in Chrome extension (v1.0.40)
- Run
claude --chrome - Open Chrome — extension sidebar panel loads correctly
- Verify native host process is running:
claude.exe --chrome-native-host(PID exists) - Verify named pipe exists:
\\.\pipe\claude-mcp-browser-bridge-<username> - In Claude CLI, any browser tool (e.g.
tabs_context_mcp) returns "Browser extension is not connected"
Diagnostic: Check MCP server debug log (~/.claude/debug/<session>.txt) — it attempts to connect to Unix domain socket paths instead of the Windows named pipe.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.17
Claude Code Version
2.1.22 (broken), downgraded to 2.1.17 (working)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
All components verified working individually:
- Registry key (
HKCU:\Software\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension) — correct path - Native host manifest (
com.anthropic.claude_code_browser_extension.json) — correct extension ID and batch file path chrome-native-host.bat— exists and callsclaude.exe --chrome-native-host- Chrome extension (ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn, v1.0.40) — installed withnativeMessagingpermission - Native host process — running, creates named pipe at
\\.\pipe\claude-mcp-browser-bridge-<username> - No Claude Desktop installed (no conflict)
The only broken link is the MCP server's connection logic which switched from Windows Named Pipes to Unix domain sockets between v2.1.17 and v2.1.20.
Workaround: claude install 2.1.17 --force restores Chrome integration.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗