Troubleshooting logo

Troubleshooting

OrganizationPopular
ChromeDevTools
troubleshooting

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.

Overview

PublisherChromeDevTools
Repositorychrome-devtools-mcp
Skill nametroubleshooting
Stars
52.3K
Forks
4.2K
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by ChromeDevTools on GitHub. Read the source before you install it.

Installation

Install the Troubleshooting AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ChromeDevTools/chrome-devtools-mcp.git /tmp/chrome-devtools-mcp
mkdir -p .claude/skills
cp -r /tmp/chrome-devtools-mcp/skills/troubleshooting .claude/skills/troubleshooting
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Troubleshooting in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Troubleshooting on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Troubleshooting is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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, gemini-extension.json, .claude/settings.json, .vscode/launch.json, or .gemini/settings.json.

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 9 tools available

If the server starts successfully but only a limited subset of tools (like list_pages, get_console_message, lighthouse_audit, take_heapsnapshot) 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.
  2. Make sure the MCP server in configured to launch Chrome instead of connecting to an instance: Chrome before 149 is not able to load extensions when connecting to an existing instance (--auto-connect, --browserUrl).
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 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 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.

Frequently asked questions

What does the Troubleshooting AI skill do?

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.

Why use Troubleshooting on TypingMind?

Because you install it once and use it with any model. Troubleshooting is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Troubleshooting in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ChromeDevTools/chrome-devtools-mcp/tree/main/skills/troubleshooting. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Troubleshooting?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Troubleshooting?

As many as you like. As long as a model supports skills, you can use Troubleshooting with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Troubleshooting AI skill free?

Yes. It is published on GitHub by ChromeDevTools under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇