Claude in Chrome: Native messaging host never called - browser automation tools fail to connect
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__computermcp__claude-in-chrome__read_pagemcp__claude-in-chrome__navigate- All other browser automation tools
The extension appears functional and is installed, but no connection is established.
---
Steps to Reproduce
- Install Claude Code CLI version 2.1.22 on Windows 10
- Install Claude in Chrome browser extension (v1.0.40)
- Configure native messaging host with correct registry entry and manifest file
- Start Claude Code with
--chromeflag - Attempt to use any
mcp__claude-in-chrome__*tool - 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_originscontains 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
/chromecommand 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
- Extension not initiating native messaging connection - The extension may have a bug preventing it from calling the native messaging API
- Silent failure in extension - Native messaging connection attempt may be failing silently with no error reporting
- Version incompatibility - Potential incompatibility between extension v1.0.40 and Claude Code v2.1.22
- Windows-specific issue - Native messaging may have Windows-specific requirements not being met by the extension
- 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
- Verify that Claude in Chrome extension is initiating the native messaging connection in its service worker
- Check for silent failures or exceptions in native messaging initialization
- Verify that the extension calls
chrome.runtime.connectNative()with the correct host name:com.anthropic.claude_code_browser_extension - Test native messaging functionality in a clean Chrome profile
- Check for Windows API compatibility issues with the native messaging IPC mechanism
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗