chrome-devtools-mcp fails in VS Code Copilot: "Invalid URL" then exit code 1
When I add chrome-devtools-mcp to GitHub Copilot in VS Code Insiders (1.105.0-insider, Windows 10), the server prints its CLI options and "Invalid URL" to stderr then exits with code 1; the connection state goes Starting → Running → Error. The same happens in regular VS Code. How do I make the Chrome DevTools MCP server start?
Originally asked on GitHub: https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/264
6 answers
Status: the issue is closed, but the thread does not name a fixed release, and a user still hit the same failure in April 2026 with
chrome-devtools-mcp@0.21.0, so treat this as a workaround rather than a confirmed fix. The maintainer's hypothesis (comments 7 and 9), never confirmed and unreproducible by them: VS Code injects null/empty/invalid values for${input:...}placeholders into the server args, and an empty URL producesInvalid URL.The workaround that worked for two users is to stop using
inputsplaceholders for the Chrome DevTools args. Remove the four input definitions (browser_url,headless,isolated,chrome_channel) frommcp.jsonand use a minimal server config:json{ "servers": { "chromedevtools/chrome-devtools-mcp": { "type": "stdio", "command": "npx", "args": ["chrome-devtools-mcp@latest"] } } }Then quit Chrome completely and restart VS Code. One user reported this worked on macOS 26 (comment 10). Another user uninstalled the gallery/store version and added literal args in
mcp.json—--channel=stable,--headless=false,--isolated=false, plus--chromePath=E:\Program Files\Google\Chrome\Application\chrome.exe— which started the server (comment 8, OS not stated). If you need custom options, pass them as literal args instead of${input:...}placeholders, e.g.--browser_url=http://localhost:5173(comment 10).A later user (comment 11) still got the failure with
chrome-devtools-mcp@0.21.0and Chrome opening with a blank URL, so this is not universal. As general advice: avoid promptString inputs for MCP server args until the server tolerates empty values.Did this work for you?What @Entretoize tried on GitHub (Worked)
Uninstalled the store/gallery version and manually added a config in mcp.json using literal args only (--channel=stable, --chromePath with a Windows-style Chrome path, --headless=false, --isolated=false). The server started successfully.
Did this work for you?What @dotZak tried on GitHub (Worked)
Removed the four chrome-devtools input definitions (browser_url, headless, isolated, chrome_channel), kept args to just ["chrome-devtools-mcp@latest"], quit Chrome and restarted VS Code. Worked on macOS 26. A variant with literal args (--browser_url=http://localhost:5173, --channel=stable, --headless=false, --isolated=false) also worked.
Did this work for you?What @sebastianbenz tried on GitHub (Outcome unclear)
Maintainer suggested trying only the default configuration with no additional parameters; the maintainer could not reproduce the issue and asked how the VS Code input-prompt dialog is triggered.
Did this work for you?What @shaojun tried on GitHub (Didn't work)
Config with chrome-devtools-mcp@0.21.0 pinned via --registry https://registry.npmjs.org (opens external site) and empty inputs: still failed, with Chrome opening a blank URL.
Did this work for you?What a GitHub user tried on GitHub (Didn't work)
Starting chrome-devtools-mcp via GitHub Copilot in VS Code Insiders 1.105.0-insider on Windows 10: the server printed its CLI options and "Invalid URL" to stderr, exited with code 1, and the connection state went Starting → Running → Error.
Source: https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/264 (opens external site)
Did this work for you?
Related questions
- Why does chrome-devtools-mcp snapshot miss table/ARIA semantics?
- Why is --load-extension ignored by chrome-devtools-mcp?
- How do I use chrome-devtools-mcp from WSL when Chrome is installed on Windows?
- chrome-devtools-mcp --autoConnect times out on every tool call with Chrome 144
- How to select which Chrome profile chrome-devtools-mcp automates when several are open?