chrome-devtools-cli
A Rust binary with no MCP server: an agent drives your open Chrome or Edge, and tabs are pinned with target labels.
- 256 ★ on the repository
- Last commit
Broad access
Why this level
- The agent works in your browser with your sessions and can submit forms and run JavaScript on pages.
Install
- Works in
Manual install
brew install aeroxy/tap/chrome-devtoolsFirst command in the Installation section (recommended on macOS); the binary is named `chrome-devtools`.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent works in your browser with your sessions and can submit forms and run JavaScript on pages.
This is third-party code. Review the repository files before installing.
What it does
chrome-devtools is a Rust CLI that attaches to a running Chrome or Edge over the DevTools Protocol. An agent opens pages, clicks selectors, fills forms, takes screenshots, reads a page as Markdown and inspects network requests and the console. The first call starts a background daemon that keeps the connection for up to five idle minutes, so the browser asks for permission once. Tabs are pinned with a label through `--target`. One file, `skill/chrome-devtools/SKILL.md`, documents the commands for an agent, and no MCP server is needed.
Who it is for. Developers and testers who hand an agent work inside their everyday browser where they are already signed in.
Good fit when
- An agent checks a layout at a mobile viewport and saves a screenshot.
- A form on a site has to be filled and submitted without signing in again.
- After a click you need to see which requests went out and what reached the console.
- An article is read as clean Markdown for a short summary.
- MCP replies fill the model context, so browser automation moves to a command line.
Not a fit when
- You need an isolated browser with no personal data or open sessions.
- Automation runs on a headless server with no Chrome launched.
- Tests run on a schedule in CI with nobody present.
Example request
Open the pricing page, save a full-page screenshot and read the prices as Markdown. Pin the tab with `--target`.Limitations
Remote debugging is switched on once in the browser at `chrome://inspect/#remote-debugging`. Edge has its own toggle at `edge://inspect/#remote-debugging`. The browser asks for approval on first connection. Building from source needs Rust 1.89 or newer, while the Homebrew package is prebuilt. On macOS the system may need permission to read the profile directory, otherwise the tool falls back to port 9222 with a warning. The agent acts in your browser with your sessions, so a wrong click submits a form in your name.
How to disable. Turn the remote debugging toggle off at `chrome://inspect/#remote-debugging`. The daemon exits by itself after five idle minutes. `brew uninstall chrome-devtools` removes the binary.
FAQ
Is a separate browser required?
No. The tool attaches to the running Chrome or Edge with its profile and sessions, and no separate Chromium is started.
What if the port file cannot be read?
Pass the port shown at `chrome://inspect/#remote-debugging`: `chrome-devtools --port 9222 list-pages`. The `CHROME_PORT` variable sets the same port.
How do multiple tabs work?
Every `navigate` prints a label such as `[target:red-snake]`. Pass it with `--target` and later commands stay on that tab.
Why a CLI when chrome-devtools-mcp exists?
The author cites context cost, since MCP replies are long. Here an agent needs one `SKILL.md` and shell commands.
Which commands exist?
Navigation (`navigate`, `new-page`, `list-pages`), inspection (`screenshot`, `read-page`, `snapshot`, `evaluate`), actions (`click`, `fill`, `type-text`, `press-key`, `hover`), plus `emulate`, `network` and `console`.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI and skill for driving Chrome from an agent: page snapshots, clicks, console, network and audits in compact output
An agent drives your real logged-in Chrome: a CLI, MCP and an extension with a separate tab group per session
A skill for Amp, Claude Code and Cursor: the agent drives your live Chrome with its open tabs and signed-in accounts through a single debugging toggle
faster-chrome-devtools-skill drives Chrome over the DevTools Protocol from a shell, with no MCP server, Puppeteer or Playwright.
A skill connects an agent to your Chrome through an extension and CLI for reading pages, managing tabs and verifying actions.
The Chrome DevTools team's official MCP server: the agent drives a live Chrome, reads network and console, and records performance traces
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| chrome-devtools-cli (this card) | no | 256 | |
| chrome-devtools-axi | no | 454 | offers compact output and performance audits; chrome-devtools-cli attaches to the everyday browser through its toggle and labels tabs with `--target` |
| browser-debugger-cli (bdg) | no | 185 | keeps Chrome in the background and returns network, cookies and styles; chrome-devtools-cli works in an already open browser, Edge included |
README in short
The tool reads the port from the profile `DevToolsActivePort` file or from `--ws-endpoint` and `--port`. Viewport, geolocation and URL blocks are set per tab with `emulate`.