Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

troubleshooting — Claude Code skill: what it does, how to install

Diagnoses connection failures and tool errors in Chrome DevTools MCP step by step. Helpful when the server refuses to launch or tab commands fail.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ChromeDevTools/chrome-devtools-mcp --skill troubleshooting -a claude-code
Open on GitHub

What troubleshooting does

The skill guides your agent through diagnosing Chrome DevTools MCP failures when connection drops or browser actions fail. It first scans workspace and user settings for configuration files like .mcp.json or ~/.claude.json. The agent inspects argument flags, missing environment variables, and client read-only restrictions that hide modifying tools like click or navigate_page.

Next, the diagnostic sequence checks specific error patterns. For the Could not find DevToolsActivePort error, it asks to verify that Chrome is running with remote debugging enabled, then tests connectivity using list_pages. In sandboxed clients, it recommends switching from --autoConnect to --browser-url, while on Windows under Codex it suggests raising startup_timeout_ms to 20000.

Keep in mind that --autoConnect requires a running Chrome version 144 or newer. Passing the --slim flag deliberately restricts available tools to navigation, script execution, and screenshots.

What it helps with

  • diagnose configuration issues across .mcp.json and user settings
  • resolve Could not find DevToolsActivePort connection failures in Chrome
  • restore missing tools hidden by client read-only mode
  • adjust MCP flags for sandboxed desktop environments

Example prompts for the agent

  • Help me fix the Chrome DevTools MCP connection after list_pages failed
  • Why are modifying tools like navigate_page missing from Chrome DevTools MCP?
  • Troubleshoot my .mcp.json configuration because autoConnect cannot find Chrome

How to install troubleshooting

1Skills CLI (Vercel)

npx skills add ChromeDevTools/chrome-devtools-mcp --skill troubleshooting -a claude-code

2Manually: put the files in place

~/.claude/skills/troubleshooting/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/troubleshooting/

From the same set6

The whole set →

Similar

extract-design-system arvindrk This skill extracts design primitives from a public website and generates starter tokens.json and tokens.css files for your project. Claude Code CX Codex Cursor +1 130,600installs cmux-browser manaflow-ai Automates browser surfaces via the cmux CLI without stealing user focus. Useful for background page inspections, waiting on selectors, and form fills. Claude Code CX Codex Cursor +1 8,800installs electron-chromium-upgrade electron Guides Chromium version rolls in the Electron repository on the roller/chromium/main branch. Resolves patch conflicts during e sync --3 and handles commit formatting. Claude Code CX Codex Cursor +1 617installs deep-research bytedance A skill for thorough web research using multi-angle analysis methodology. Use it instead of basic search when you need to understand a topic from all angles before writing content or tackling a complex question. Claude Code CX Codex Cursor +1 2,800installs agent-browser vercel-labs A CLI skill for browser control: it opens pages, fills forms, clicks buttons, and tests web apps. Use it when an agent needs to act inside a website. Claude Code CX Codex Cursor +1 1,200,000installs webapp-testing official anthropics This skill tests local web apps with Playwright, helping agents debug UI behavior, capture screenshots, and inspect browser logs. Claude Code Claude.ai 186,758installs computer-use stablyai This skill drives a visible app window through orca computer: accessibility tree, clicks, typing, screenshots. Reach for it when the job sits behind a GUI. Claude Code CX Codex Cursor +1 239,000installs browser-use browser-use Hands the agent a real Chrome over CDP: clicks, typing, screenshots, and pages that need JS or your logged-in session. Claude Code CX Codex Cursor +1 98,100installs

Questions about troubleshooting

How do I install troubleshooting in Claude Code?

Run npx skills add ChromeDevTools/chrome-devtools-mcp --skill troubleshooting -a claude-code in your terminal. This registers the troubleshooting skill in Claude Code.

What does the troubleshooting skill do?

It steps through Chrome DevTools MCP failures, inspects configuration files, and suggests targeted fixes for browser connection errors.

Why are modifying tools like navigate_page missing from the agent?

Tools that change state use readOnlyHint: false, which clients hide when running in safe or plan modes. Disabling the client read-only mode exposes the full tool suite.

Source text

SKILL.md · Apache-2.0
---
name: troubleshooting
description: Uses Chrome DevTools MCP and documentation to troubleshoot connection and target issues. Trigger this skill when list_pages, new_page, or navigate_page fail, or when the server initialization fails.
---

## Troubleshooting Wizard

You are acting as a troubleshooting wizard to help the user configure and fix their Chrome DevTools MCP server setup. When this skill is triggered (e.g., because `list_pages`, `new_page`, or `navigate_page` failed, or the server wouldn't start), follow this step-by-step diagnostic process:

### Step 1: Find and Read Configuration

Your first action should be to locate and read the MCP configuration file. Search for the following files in the user's workspace: `.mcp.json`, `.vscode/mcp.json`, `gemini-extension.json`, or `.gemini/settings.json` (or user-scoped files such as `~/.claude.json` if accessible).

If you find a configuration file, read and interpret it to identify potential issues such as:

- Incorrect arguments or flags.
- Missing environment variables.
- Usage of `--autoConnect` in incompatible environments.

If you cannot find any of these files, only then should you ask the user to provide their configuration file content.

### Step 2: Triage Common Connection Errors

Before reading documentation or suggesting configuration changes, check if the error message matches one of the following common patterns.

#### Error: `Could not find DevToolsActivePort`

This error is highly specific to the `--autoConnect` feature. It means the MCP server cannot find the file created by a running, debuggable Chrome instance. This is not a generic connection failure.

Your primary goal is to guide the user to ensure Chrome is running and properly configured. Do not immediately suggest switching to `--browserUrl`. Follow this exact sequence:

1. **Ask the user to confirm that the correct Chrome version** (e.g., "Chrome Canary" if the error mentions it) is currently running.
2. **If the user confirms it is running, instruct them to enable remote debugging.** Be very specific about the URL and the action: "Please open a new tab in Chrome, navigate to `chrome://inspect/#remote-debugging`, and make sure the 'Enable remote debugging' checkbox is checked."
3. **Once the user confirms both steps, your only next action should be to call the `list_pages` tool.** This is the simplest and safest way to verify if the connection is now successful. Do not retry the original, more complex command yet.
4. **If `list_pages` succeeds, the problem is resolved.** If it still fails with the same error, then you can proceed to the more advanced steps like suggesting `--browserUrl` or checking for sandboxing issues.

#### Symptom: Server starts but creates a new empty profile

If the server starts successfully but `list_pages` returns an empty list or creates a new profile instead of connecting to the existing Chrome instance, check for typos in the arguments.

- **Check for flag typos:** For example, `--autoBronnect` instead of `--autoConnect`.
- **Verify the configuration:** Ensure the arguments match the expected flags exactly.

#### Symptom: Missing Tools / Only a few tools available

If the server starts successfully but only a limited subset of tools (like `list_pages`, `list_console_messages`, `get_console_message`, `list_network_requests`) are available, this is likely because the MCP client is enforcing a **read-only mode**.

All tools in `chrome-devtools-mcp` are annotated with `readOnlyHint: true` (for safe, non-modifying tools) or `readOnlyHint: false` (for tools that modify browser state, like `emulate`, `click`, `navigate_page`). To access the full suite of tools, the user must disable read-only mode in their MCP client (e.g., by exiting "Plan Mode" in Gemini CLI or adjusting their client's tool safety settings).

#### Symptom: Extension tools are missing or extensions fail to load

If the tools related to extensions (like `install_extension`) are not available, or if the extensions you load are not functioning:

1. **Check for the `--categoryExtensions` flag**: Ensure this flag is passed in the MCP server configuration to enable the extension category tools.

#### Other Common Errors

Identify other error messages from the failed tool call or the MCP initialization logs:

- `Target closed`
- "Tool not found" (check if they are using `--slim` which only enables navigation, script evaluation and screenshot tools).
- Missing `pageId`: Page-scoped tools require a `pageId` argument. Call `list_pages` to find active page IDs.
- `ProtocolError: Network.enable timed out` or `The socket connection was closed unexpectedly`
- `Error [ERR_MODULE_NOT_FOUND]: Cannot find module`
- Any sandboxing or host validation errors.

### Step 3: Read Known Issues

Read the contents of https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/troubleshooting.md to map the error to a known issue. Pay close attention to:

- Sandboxing restrictions (macOS Seatbelt, Linux containers).
- WSL requirements.
- `--autoConnect` handshakes, timeouts, and requirements (requires **running** Chrome 144+).

### Step 4: Formulate a Configuration

Based on the exact error and the user's environment (OS, MCP client), formulate the correct MCP configuration snippet. Check if they need to:

- Pass `--browser-url=http://127.0.0.1:9222` instead of `--autoConnect` (e.g. if they are in a sandboxed environment like Claude Desktop).
- Enable remote debugging in Chrome (`chrome://inspect/#remote-debugging`) and accept the connection prompt. **Ask the user to verify this is enabled if using `--autoConnect`.**
- Add `--logFile <absolute_path_to_log_file>` to capture debug logs for analysis.
- Increase `startup_timeout_ms` (e.g. to 20000) if using Codex on Windows.

_If you are unsure of the user's configuration, ask the user to provide their current MCP server JSON configuration._

### Step 5: Run Diagnostic Commands

If the issue is still unclear, run diagnostic commands to test the server directly:

- Run `npx chrome-devtools-mcp@latest --help` to verify the installation and Node.js environment.
- If you need more information, run `NODE_DEBUG=* npx chrome-devtools-mcp@latest --logFile=/tmp/cdm-test.log` to capture verbose logs. Analyze the output for errors.

### Step 6: Check GitHub for Existing Issues

If https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/troubleshooting.md does not cover the specific error, check if the `gh` (GitHub CLI) tool is available in the environment. If so, search the GitHub repository for similar issues:
`gh issue list --repo ChromeDevTools/chrome-devtools-mcp --search "<error snippet>" --state all`

Alternatively, you can recommend that the user checks https://github.com/ChromeDevTools/chrome-devtools-mcp/issues and https://github.com/ChromeDevTools/chrome-devtools-mcp/discussions for help.

© ChromeDevTools · Apache-2.0 · ChromeDevTools/chrome-devtools-mcp

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor