Back to Skills

chrome-devtools-cli

Use this skill to write shell scripts or run shell commands to automate tasks in the browser or otherwise use Chrome DevTools via CLI.

45,544stars2,961forksUpdated 7/4/2026

Security Assessment

Safe(90/100)

Detected risks:

Agent-reviewed override(Install-doc boilerplate: .bashrc/.zshrc are PATH setup and 'sudo' is a standard install step in references/installation.md. Official Chrome DevTools MCP CLI.)
Security Score90/100

About chrome-devtools-cli

A CLI-driven way to automate Chrome and use Chrome DevTools from the terminal or shell scripts, provided by chrome-devtools-mcp. The background server starts implicitly on first use, so the workflow is simply execute, inspect, act: run a tool such as chrome-devtools list_pages, capture element UIDs with take_snapshot, then act on them with commands like click, fill, hover, drag, type_text, or upload_file. State persists across commands, any command accepts --help, and output defaults to Markdown with --output-format=json available for structured results.

Use it when you want to script browser tasks rather than drive them interactively. The command surface is broad: navigation (navigate_page, new_page, select_page, list_pages, close_page), emulation of network conditions, CPU throttling, geolocation, color scheme, viewport, and user agent plus resize_page, and performance tooling such as performance_start_trace, performance_stop_trace, performance_analyze_insight, and take_memory_snapshot.

For inspection and debugging it exposes evaluate_script (including passing snapshot UIDs as arguments), console message listing and filtering, take_screenshot for the viewport, full page, or a single element, lighthouse_audit, and network request listing and retrieval with pagination and resource-type filters. It can also manage Chrome extensions by listing, installing from a path, uninstalling, reloading, and triggering an extension default action. Experimental tools such as click_at coordinate clicking and screencast recording are disabled by default and must be enabled with their flags during start. Installation is a one-time prerequisite documented separately and is not part of the regular workflow.

FAQ

Do I need to start the server manually?

No, the background server starts implicitly, so you should not run start, status, or stop before each use.

How do I target a specific element on the page?

Run take_snapshot to obtain an element uid, then pass that uid to commands such as click, fill, or hover.

Can I get machine-readable output instead of Markdown?

Yes, output defaults to Markdown but you can pass --output-format=json on any command.

What conditions can it emulate for testing?

Network conditions, CPU throttling, geolocation, color scheme, viewport, and user agent, plus resize_page for the window dimensions.

How do I use the experimental features?

They are off by default and must be enabled with their flag at start, for example click_at needs experimental vision and screencast needs experimental screencast plus ffmpeg.

All Files

2 files
SKILL.md8.1 KB
View
references/installation.md0.9 KB
View

Install chrome-devtools-cli

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill