claude-in-chrome MCP connection fails despite correct configuration (Windows)
Description
The claude-in-chrome MCP server shows as connected in /mcp but all tool calls fail with "Browser extension is not connected" error.
Environment
- Claude Code version: 2.1.20
- OS: Windows 11
- Chrome extension ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn(matches allowed_origins)
Configuration Verified
Native Host Manifest
Location: %APPDATA%\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json
{
"name": "com.anthropic.claude_code_browser_extension",
"description": "Claude Code Browser Extension Native Host",
"path": "C:\Users\<user>\.claude\chrome\chrome-native-host.bat",
"type": "stdio",
"allowed_origins": [
"chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/"
]
}
Registry Entry
HKCU\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension
(Default) = C:\Users\<user>\AppData\Roaming\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json
Native Host Script
Location: ~/.claude/chrome/chrome-native-host.bat
@echo off
REM Chrome native host wrapper script
REM Generated by Claude Code - do not edit manually
"C:\Users\<user>\.local\bin\claude.exe" --chrome-native-host
Diagnostics
- Native host works manually:
```
echo '{"type":"ping"}' | claude.exe --chrome-native-host
`
Output:
``
[Claude Chrome Native Host] Initializing...
[Claude Chrome Native Host] Creating socket listener: \.\pipe\claude-mcp-browser-bridge-<user>
- Named pipe exists:
````
//./pipe/claude-mcp-browser-bridge-<user>
- MCP shows connected:
Running /mcp in Claude Code shows claude-in-chrome as connected, but tool calls fail.
- Extension installed and ID matches:
Chrome extension is installed at chrome://extensions/?id=fcoeoabgfenejglbffodgkkbkcdhcgfn
Steps to Reproduce
- Install Claude Code 2.1.20 on Windows
- Install Claude browser extension from Chrome Web Store
- Run
/mcp- shows claude-in-chrome as connected - Try any claude-in-chrome tool (e.g.,
tabs_context_mcp) - Get error: "Browser extension is not connected"
Expected Behavior
Tool calls should succeed when the MCP server shows as connected and the named pipe exists.
Actual Behavior
All tool calls fail with "Browser extension is not connected" despite:
- MCP server showing connected
- Named pipe existing
- Native host configuration being correct
- Extension ID matching allowed_origins
Additional Context
- Tried reinstalling the Chrome extension
- Tried restarting Chrome
- Tried restarting Claude Code
- Clicked extension icon in Chrome (no obvious errors)
- Both Claude Desktop and Claude Code native hosts are registered (different names)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗