Chrome extension connects to Claude Desktop but not Claude Code on Windows

Resolved 💬 4 comments Opened Jan 30, 2026 by George-Boole Closed Mar 1, 2026

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_origins including 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.exe process spawned
  • This indicates the extension only connects to com.anthropic.claude_browser_extension (Claude Desktop), not com.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

View original on GitHub ↗

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