sickn33/antigravity-awesome-skills/claude-in-chrome-troubleshooting
- community
Checking that the SKILL.md file is still in the repository.
Diagnose and fix Claude in Chrome MCP extension connectivity issues. Use when mcp__claude-in-chrome__* tools fail, return "Browser extension is not connected", or behave erratically.
Install
npx vskill@latest install sickn33/antigravity-awesome-skills/claude-in-chrome-troubleshootingSKILL.md
Claude in Chrome MCP Troubleshooting
Use this skill when Claude in Chrome MCP tools fail to connect or work unreliably.
When to Use
mcp__claude-in-chrome__*tools fail with "Browser extension is not connected"- Browser automation works erratically or times out
- After updating Claude Code or Claude.app
- When switching between Claude Code CLI and Claude.app (Cowork)
- Native host process is running but MCP tools still fail
When NOT to Use
- Linux or Windows users - This skill covers macOS-specific paths and tools (
~/Library/Application Support/,osascript) - General Chrome automation issues unrelated to the Claude extension
- Claude.app desktop issues (not browser-related)
- Network connectivity problems
- Chrome extension installation issues (use Chrome Web Store support)
The Claude.app vs Claude Code Conflict (Primary Issue)
Background: When Claude.app added Cowork support (browser automation from the desktop app), it introduced a competing native messaging host that conflicts with Claude Code CLI.
Two Native Hosts, Two Socket Formats
| Component | Native Host Binary | Socket Location | |
|---|---|---|---|
| Claude.app (Cowork) | /Applications/Claude.app/Contents/Helpers/chrome-native-host | /tmp/claude-mcp-browser-bridge-$USER/<PID>.sock | |
| Claude Code CLI | ~/.local/share/claude/versions/<version> --chrome-native-host | $TMPDIR/claude-mcp-browser-bridge-$USER (single file) |
Why They Conflict
- Both register native messaging configs in Chrome:
com.anthropic.claude_browser_extension.json→ Claude.app helpercom.anthropic.claude_code_browser_extension.json→ Claude Code wrapper
- Chrome extension requests a native host by name
- If the wrong config is active, the wrong binary runs
- The wrong binary creates sockets in a format/location the MCP client doesn't expect
- Result: "Browser extension is not connected" even though everything appears to be running
The Fix: Disable Claude.app's Native Host
If you use Claude Code CLI for browser automation (not Cowork):
If you use Cowork (Claude.app) for browser automation:
These paths and coexistence failures are historical observations, not a universal current-version restriction. Confirm the active host, versions and profile first; use supported reconnect/repair before changing registrations.
Toggle Script
Add this to ~/.zshrc or run directly:
Usage: chrome-mcp-toggle then restart Chrome (and Claude Code if switching to CLI).
Treat the toggle as an optional local workaround only after confirming the conflict. Back up registrations and refuse destination collisions before any move; the script below is illustrative and does not implement those checks. Closing Chrome can interrupt unrelated work: preserve tabs/forms and obtain authorization before restarting. Diagnostic process arguments/configuration may contain private paths or values; redact before sharing. Do not install the toggle in shell startup without an explicit request.
Quick Diagnosis
Critical Insight
MCP connects at startup. If the browser bridge wasn't ready when Claude Code started, the connection will fail for the entire session. The fix is usually: ensure Chrome + extension are running with correct config, THEN restart Claude Code.
Full Reset Procedure (Claude Code CLI)
Other Common Causes
Multiple Chrome Profiles
If you have the Claude extension installed in multiple Chrome profiles, each spawns its own native host and socket. This can cause confusion.
Fix: Only enable the Claude extension in ONE Chrome profile.
Multiple Claude Code Sessions
Running multiple Claude Code instances can cause socket conflicts.
Fix: Only run one Claude Code session at a time, or use /mcp to reconnect after closing other sessions.
Hardcoded Version in Wrapper
The wrapper at ~/.claude/chrome/chrome-native-host may have a hardcoded version that becomes stale after updates.
Diagnosis:
Fix: Use supported client repair to regenerate the wrapper; preserve a backup and verify the intended executable before changing it.
TMPDIR Not Set
Claude Code expects TMPDIR to be set to find the socket.
Diagnostic Deep Dive
File Reference
| File | Purpose | |
|---|---|---|
~/.claude/chrome/chrome-native-host | Custom wrapper script for Claude Code | |
/Applications/Claude.app/Contents/Helpers/chrome-native-host | Claude.app (Cowork) native host | |
~/.local/share/claude/versions/<version> | Claude Code binary (run with --chrome-native-host) | |
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json | Config for Claude.app native host | |
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json | Config for Claude Code native host | |
$TMPDIR/claude-mcp-browser-bridge-$USER | Socket file (Claude Code) | |
/tmp/claude-mcp-browser-bridge-$USER/<PID>.sock | Socket files (Claude.app) |
Summary
- Primary issue: Claude.app (Cowork) and Claude Code use different native hosts with incompatible socket formats
- Fix: Disable the native messaging config for whichever one you're NOT using
- After any fix: Must restart Chrome AND Claude Code (MCP connects at startup)
- One profile: Only have Claude extension in one Chrome profile
- One session: Only run one Claude Code instance
Original skill by [@jeffzwang](https://github.com/jeffzwang) from [@ExaAILabs](https://github.com/ExaAILabs). Enhanced and updated for current versions of Claude Desktop and Claude Code.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/claude-in-chrome-troubleshooting/SKILL.md
Popularity
- Repository stars
- 23,153
- Repository forks
- 3,987
- Repository npm downloads, 7 days
- 11,753
- 7-day trend score
- 72
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 17 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/claude-in-chrome-troubleshooting)