Chrome extension connects to Claude Desktop but not Claude Code on Windows
Description
On a Windows machine with both Claude Desktop and Claude Code installed, the "Claude in Chrome" extension (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn) connects to Claude Desktop's native host but not Claude Code's native host.
Environment
- OS: Windows 11
- Claude Code version: 2.1.27 (npm global install)
- Chrome extension: Claude in Chrome (Beta) v1.0.41
- Claude Desktop: Also installed (app-1.1.1200)
Evidence
Claude Code's native host IS properly registered:
- Registry key exists:
HKCU\Software\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension - Points to:
C:\Users\...\AppData\Roaming\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json - Manifest file exists with correct config and
allowed_originsincluding the extension ID
Claude Code's MCP server successfully connects:
[DEBUG] MCP server "claude-in-chrome": Successfully connected to stdio server in 1244ms
[DEBUG] MCP server "claude-in-chrome": Connection established with capabilities: {"hasTools":true,"hasPrompts":false,"hasResources":false,"serverVersion":{"name":"Claude in Chrome","version":"1.0.0"}}
But tool calls return "not connected":
[DEBUG] MCP server "claude-in-chrome": Tool 'tabs_context_mcp' completed successfully in 5s
Result: "Browser extension is not connected"
Key observation:
When Claude Desktop's native host config (com.anthropic.claude_browser_extension.json) was temporarily renamed/disabled:
- No
chrome-native-host.exeprocess spawned - This indicates the extension only connects to
com.anthropic.claude_browser_extension(Claude Desktop), notcom.anthropic.claude_code_browser_extension(Claude Code)
Native Host Configurations
Claude Desktop (com.anthropic.claude_browser_extension):
{
"name": "com.anthropic.claude_browser_extension",
"allowed_origins": [
"chrome-extension://dihbgbndebgnbjfmelmegjepbnkhlgni/",
"chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/",
"chrome-extension://dngcpimnedloihjnnfngkgjoidhnaolf/"
]
}
Claude Code (com.anthropic.claude_code_browser_extension):
{
"name": "com.anthropic.claude_code_browser_extension",
"allowed_origins": [
"chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/"
]
}
Both configs allow the same extension ID, but the extension appears to only request connection to Claude Desktop's host name.
Expected Behavior
The Chrome extension should connect to Claude Code's native host (com.anthropic.claude_code_browser_extension) when Claude Code is running, allowing browser automation tools to work.
Additional Context
- NordVPN was uninstalled during troubleshooting (was not the cause)
- Windows Firewall rules for Node.js exist but only for Public profile (user is on Private network for some interfaces)
- Chrome was restarted multiple times
- Extension was reloaded
Possible Root Cause
The Chrome extension may be hardcoded to connect only to com.anthropic.claude_browser_extension and doesn't know about com.anthropic.claude_code_browser_extension.
🤖 Generated with Claude Code
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗