Claude-skill-registry claude-chrome-debugging

Diagnoses and fixes Claude in Chrome extension issues including zombie MCP processes, action failures, and extension conflicts

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/claude-chrome-debugging" ~/.claude/skills/majiayu000-claude-skill-registry-claude-chrome-debugging && rm -rf "$T"
manifest: skills/data/claude-chrome-debugging/SKILL.md
source content

Claude Chrome Debugging

Troubleshoot Claude in Chrome browser automation issues.

Symptoms & Causes

SymptomLikely Cause
navigate
/
form_input
work but
click
/
screenshot
/
javascript_exec
fail with "Cannot access a chrome-extension:// URL"
CDP debugger conflict (other extensions) or zombie MCP processes
Extension completely unresponsiveMCP server not running or Chrome extension disabled
Actions work intermittentlyMultiple MCP processes competing

Diagnostic Steps

1. Check for Zombie MCP Processes

ps aux | grep -i "claude-in-chrome-mcp" | grep -v grep

Expected: 1-2 processes (one per active Claude Code session)

Problem: Multiple processes, especially with old timestamps (days ago)

2. Check Active Claude Code Sessions

Count your actual terminal sessions running Claude Code. Compare to MCP process count.

3. Verify Chrome Extension Status

In Chrome:

chrome://extensions/
→ Find "Claude in Chrome" → Ensure enabled

4. Check for Conflicting Extensions

Chrome only allows one extension to attach the CDP debugger per tab (root cause analysis). Extensions that conflict:

Extension TypeExamples
DevToolsReact DevTools, Vue DevTools, Redux DevTools
AutomationSelenium IDE, Puppeteer Recorder
Page toolsScreenshot tools, page inspectors
SecuritySome password managers (ref)

Any extension using

chrome.debugger
API will conflict.

Fixes

Fix CDP Conflicts (Most Common)

Disable conflicting extensions (confirmed by multiple users):

  1. Go to
    chrome://extensions/
  2. Disable DevTools extensions (React, Vue, Redux)
  3. Disable any automation/screenshot extensions
  4. Refresh the tab and retry

macOS: Enable JavaScript from Apple Events (mixed results):

  1. Chrome → View → Developer → Allow JavaScript from Apple Events
  2. Refresh/re-navigate tabs (old tabs don't pick up the change)

Close other Chromium browsers (ref):

Other Chromium-based browsers (Arc, Brave, Dia) can interfere. Close them when using Claude in Chrome.

Quick Fix: /chrome Command

Run

/chrome
in your Claude Code session. Options include:

  • Reconnect extension - Re-establish connection without killing processes
  • Enabled by default - Check/change whether Chrome starts with every session

If "Enabled by default" is Yes and you run multiple CC sessions, disable it. Use

--chrome
flag only when needed.

Kill Zombie MCP Processes

# View processes first
ps aux | grep "claude-in-chrome-mcp" | grep -v grep

# Kill all MCP processes (will auto-restart for active sessions)
pkill -f "claude-in-chrome-mcp"

After killing, wait a few seconds. Active Claude Code sessions will reconnect automatically.

Full Reset (if above doesn't work)

  1. Kill all MCP processes:
    pkill -f "claude-in-chrome-mcp"
  2. Quit Chrome completely
  3. Restart Chrome
  4. Restart Claude Code session

Extension Reinstall (last resort)

  1. chrome://extensions/
    → Remove "Claude in Chrome"
  2. Reinstall from Chrome Web Store
  3. Restart Claude Code

Prevention

Multi-Session Conflicts

Each Claude Code session spawns its own

claude-in-chrome-mcp
process. Multiple sessions = multiple processes competing for the single Chrome extension connection.

Best practice: Only enable Chrome in sessions that need browser automation.

Session flags:

# Start with Chrome (for browser QA sessions)
claude --chrome

# Resume existing session with Chrome
claude --resume <session-id> --chrome

Check your default: Run

/chrome
→ if "Enabled by default" is Yes, set to No. Then use
--chrome
flag only when needed.

Zombie Processes

Zombie processes occur when Claude Code sessions exit uncleanly (force quit, terminal crash, system sleep). Diagnose and fix when symptoms appear using steps above.

Notes

  • The "chrome-extension:// URL of different extension" error is misleading - you're on localhost, but stale MCP processes confuse the extension about which server to use
  • form_input
    uses different code path than
    click
    /
    screenshot
    which is why some actions work while others fail

References