Skip to content

Claude in Chrome: Native messaging host never called - browser automation tools fail to connect #21426

Description

@elad-refoua

Environment

Property Value
Claude Code Version 2.1.22
Windows Version 10.0.26100.7623
Chrome Version (not specified in debug log)
Extension ID fcoeoabgfenejglbffodgkkbkcdhcgfn
Extension Version 1.0.40
Platform Windows 10

Problem Description

Browser automation tools in Claude in Chrome fail to connect with the following error:

"Browser extension is not connected. Please ensure the Claude browser extension is installed and running"

All MCP Claude-in-Chrome tools are unavailable:

  • mcp__claude-in-chrome__computer
  • mcp__claude-in-chrome__read_page
  • mcp__claude-in-chrome__navigate
  • All other browser automation tools

The extension appears functional and is installed, but no connection is established.


Steps to Reproduce

  1. Install Claude Code CLI version 2.1.22 on Windows 10
  2. Install Claude in Chrome browser extension (v1.0.40)
  3. Configure native messaging host with correct registry entry and manifest file
  4. Start Claude Code with --chrome flag
  5. Attempt to use any mcp__claude-in-chrome__* tool
  6. Observe: Connection error is displayed

Expected vs Actual Behavior

Expected

  • Extension initiates native messaging connection to the host
  • Browser automation tools execute successfully
  • mcp__claude-in-chrome__* tools are available in the tool list

Actual

  • Extension does not initiate native messaging connection
  • Native host is never called (verified through debug logging)
  • All browser automation tools fail with "not connected" error
  • Extension appears installed and enabled but is non-functional

Debugging Performed

Configuration Verification - All Components ✓ Correct

1. Registry Entry

  • Path: HKCU\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension
  • Value points to correct manifest file location: ✓

2. Native Messaging Manifest File

  • Location: C:\Users\user\AppData\Roaming\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json
  • JSON structure correct with all required fields: ✓
  • allowed_origins contains correct extension ID: chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/

3. Native Host Script

  • Location: C:\Users\user\.claude\chrome\chrome-native-host.bat
  • Script structure correct: ✓
  • Points to correct Claude executable: C:\Users\user\.local\bin\claude.exe

4. Claude Executable

  • Location: C:\Users\user\.local\bin\claude.exe
  • Version: 2.1.22 (meets minimum requirement 2.0.73+): ✓
  • File exists and is executable: ✓

5. Chrome Extension

  • Installation status: ✓ Installed
  • ID: fcoeoabgfenejglbffodgkkbkcdhcgfn ✓
  • Version: 1.0.40 (meets minimum requirement 1.0.36+): ✓
  • No errors in chrome://extensions: ✓

6. Claude Code Settings

  • /chrome command shows status: Enabled ✓
  • Extension integration: Approved/Enabled ✓

Troubleshooting Attempted

# Action Result
1 Verify registry entry Present and correct ✓
2 Verify manifest file Present and correct ✓
3 Verify native host script Present and correct ✓
4 Verify claude.exe exists Present ✓
5 Start with --chrome flag Applied, no change
6 Restart Chrome No effect
7 Restart Claude Code No effect
8 Full restart sequence Chrome → Extension → Claude Code, no effect
9 Check MCP servers list Chrome not listed (only brave-search, tavily available)
10 Use "Reconnect extension" option No effect
11 Open extension side panel Panel opens but still no connection
12 Reinstall extension Performed twice, no change
13 Check chrome://extensions No errors reported
14 Developer mode inspection Service worker inspect option unavailable

Key Finding

The native host batch file is NEVER called by the extension.

Debug logging was added to the native host batch script:

@echo off
echo [%date% %time%] Native host called >> "C:\Users\user\.claude\chrome\native-host.log"
"C:\Users\user\.local\bin\claude.exe" --chrome-native-host >> "C:\Users\user\.claude\chrome\native-host.log" 2>&1

Result: No log file was ever created. This definitively proves:

  • The Chrome extension is NOT initiating the native messaging connection
  • The issue is 100% on the extension side, not the native host configuration
  • All native host configuration is correct and ready to receive a connection

Technical Details

Native Messaging Manifest

{
  "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/"
  ]
}

Native Host Batch File

@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

MCP Availability

  • Available servers: brave-search, tavily
  • Missing server: chrome (should appear as mcp__claude-in-chrome__* when connected)

Possible Root Causes

  1. Extension not initiating native messaging connection - The extension may have a bug preventing it from calling the native messaging API
  2. Silent failure in extension - Native messaging connection attempt may be failing silently with no error reporting
  3. Version incompatibility - Potential incompatibility between extension v1.0.40 and Claude Code v2.1.22
  4. Windows-specific issue - Native messaging may have Windows-specific requirements not being met by the extension
  5. Chrome permissions issue - Chrome may need specific permissions to allow this extension to use native messaging

Affected Components

  • Claude in Chrome browser automation tools (all tools using mcp__claude-in-chrome__ prefix)
  • Browser tab management
  • Page reading and inspection
  • Element interaction (click, scroll, type, etc.)
  • Screenshot and recording capabilities
  • Network and console monitoring

Workaround

Currently none available. All browser automation tools are blocked by this connection failure.


Additional Notes

  • Extension reinstalled twice with no improvement
  • All verification steps confirm configuration is 100% correct
  • Issue is reproducible and consistent
  • No intermittent connectivity - connection never established at all

Related Files

  • Extension log location: C:\Users\user\AppData\Roaming\Claude Code\ChromeNativeHost\
  • Extension ID: fcoeoabgfenejglbffodgkkbkcdhcgfn
  • Debug log path: C:\Users\user\.claude\chrome\native-host.log (not created due to extension bug)

Suggested Resolution Path

  1. Verify that Claude in Chrome extension is initiating the native messaging connection in its service worker
  2. Check for silent failures or exceptions in native messaging initialization
  3. Verify that the extension calls chrome.runtime.connectNative() with the correct host name: com.anthropic.claude_code_browser_extension
  4. Test native messaging functionality in a clean Chrome profile
  5. Check for Windows API compatibility issues with the native messaging IPC mechanism

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions