[BUG] Claude Chrome MCP failed to find Chrome extension due to identical extension ID shared with Claude Desktop in configs
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Found the issue. There are two conflicting native messaging hosts - one for
Claude Desktop app, one for Claude Code:
┌──────────────────────────────────────────────────┬──────────────────────┐
│ Config File │ Points To │
├──────────────────────────────────────────────────┼──────────────────────┤
│ com.anthropic.claude_browser_extension.json │ Claude.app (Desktop) │
├──────────────────────────────────────────────────┼──────────────────────┤
│ com.anthropic.claude_code_browser_extension.json │ Claude Code CLI │
└──────────────────────────────────────────────────┴──────────────────────┘
Both claim the same extension ID. The extension might be connecting to the
Claude Desktop host instead of Claude Code.
Try this fix:
⏺ Bash(mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.a
nthropic.claude_browser_extension.json ~/Library/Application\
Support/Google/Chrome/Na…)
⎿ (No content)
⏺ Done - I moved the Claude Desktop native host config out of the way.
Now fully quit Chrome (Cmd+Q) and reopen it. Then let me try connecting again.
✻ Baked for 1m 12s
❯ how would that ahve happened?
⏺ You have both Claude Desktop app and Claude Code CLI installed. Both register
their own native messaging host with Chrome, and both list the same extension
ID in their allowed_origins.
When the Chrome extension tries to connect, Chrome has to pick one. It likely
picked the Claude Desktop one (alphabetically first: claude_browser_extension <
claude_code_browser_extension), which creates a socket/connection that Claude
Code CLI isn't listening on.
It's essentially a conflict between two Anthropic products that both want to
talk to the same Chrome extension.
Restart Chrome and let me try connecting - that should tell us if this was the
issue.
❯ its working now - how do i make sure this doesnt happen in the future?
⏺ The fix will stick unless:
- Claude Desktop app updates - it might recreate its native messaging host
config
- Claude Code updates - should be fine, it uses a different config file
Practical options:
- If you don't use Claude Desktop for browser automation - just leave the .bak
file there. It won't interfere.
- If you need both - you'd have to manually swap the configs depending on
which one you want to use (annoying).
- Report it to Anthropic - this is a bug where two of their products conflict.
They should either:
- Use different extension IDs for Desktop vs Code
- Have the extension intelligently route to whichever product is running
- Merge the native hosts somehow
You could file an issue at https://github.com/anthropics/claude-code/issues
describing the conflict.
For now, if Claude Desktop updates and breaks it again, just re-run:
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthro
pic.claude_browser_extension.json ~/Library/Application\ Support/Google/Chrome/
NativeMessagingHosts/com.anthropic.claude_browser_extension.json.bak
What Should Happen?
Claude Code should be able to find the Chrome Extension when its properly installed and updated - not accidentally fail its search becuase of Claude Desktop app configuration.
Error Messages/Logs
Steps to Reproduce
Found the issue. There are two conflicting native messaging hosts - one for
Claude Desktop app, one for Claude Code:
┌──────────────────────────────────────────────────┬──────────────────────┐
│ Config File │ Points To │
├──────────────────────────────────────────────────┼──────────────────────┤
│ com.anthropic.claude_browser_extension.json │ Claude.app (Desktop) │
├──────────────────────────────────────────────────┼──────────────────────┤
│ com.anthropic.claude_code_browser_extension.json │ Claude Code CLI │
└──────────────────────────────────────────────────┴──────────────────────┘
Both claim the same extension ID. The extension might be connecting to the
Claude Desktop host instead of Claude Code.
Try this fix:
⏺ Bash(mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.a
nthropic.claude_browser_extension.json ~/Library/Application\
Support/Google/Chrome/Na…)
⎿ (No content)
⏺ Done - I moved the Claude Desktop native host config out of the way.
Now fully quit Chrome (Cmd+Q) and reopen it. Then let me try connecting again.
✻ Baked for 1m 12s
❯ how would that ahve happened?
⏺ You have both Claude Desktop app and Claude Code CLI installed. Both register
their own native messaging host with Chrome, and both list the same extension
ID in their allowed_origins.
When the Chrome extension tries to connect, Chrome has to pick one. It likely
picked the Claude Desktop one (alphabetically first: claude_browser_extension <
claude_code_browser_extension), which creates a socket/connection that Claude
Code CLI isn't listening on.
It's essentially a conflict between two Anthropic products that both want to
talk to the same Chrome extension.
Restart Chrome and let me try connecting - that should tell us if this was the
issue.
❯ its working now - how do i make sure this doesnt happen in the future?
⏺ The fix will stick unless:
- Claude Desktop app updates - it might recreate its native messaging host
config
- Claude Code updates - should be fine, it uses a different config file
Practical options:
- If you don't use Claude Desktop for browser automation - just leave the .bak
file there. It won't interfere.
- If you need both - you'd have to manually swap the configs depending on
which one you want to use (annoying).
- Report it to Anthropic - this is a bug where two of their products conflict.
They should either:
- Use different extension IDs for Desktop vs Code
- Have the extension intelligently route to whichever product is running
- Merge the native hosts somehow
You could file an issue at https://github.com/anthropics/claude-code/issues
describing the conflict.
For now, if Claude Desktop updates and breaks it again, just re-run:
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthro
pic.claude_browser_extension.json ~/Library/Application\ Support/Google/Chrome/
NativeMessagingHosts/com.anthropic.claude_browser_extension.json.bak
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.7
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Cursor
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗