pasky/chrome-cdp-skill
pasky/chrome-cdp-skill has 3,285 GitHub stars and 203 forks. GitHot measured -1 stars in 24 hours. Last checked 2026-11-05 21:08 UTC. Last push 2026-06-28.
Give your AI agent access to your live Chrome session — works out of the box, connects to tabs you already have open
Measured star growth
- in 24h
- -1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalchrome-cdp
Let your AI agent see and interact with your live Chrome session — the tabs you already have open, your logged-in accounts, your current page state. No browser automation framework, no separate browser instance, no re-login.
Works out of the box with any Chrome installation. One toggle to enable, nothing else to install.
Why this matters
Most browser automation tools launch a fresh, isolated browser. This one connects to the Chrome you're already running, so your agent can:
- Read pages you're logged into (Gmail, GitHub, internal tools, ...)
- Interact with tabs you're actively working in
- See the actual state of a page mid-workflow, not a clean reload
Installation
As a pi skill
pi install git:github.com/pasky/[email protected]
For other agents (Amp, Claude Code, Cursor, etc.)
Clone or copy the skills/chrome-cdp/ directory wherever your agent loads skills or context from. The only runtime dependency is Node.js 22+ — no npm install needed.
Enable remote debugging in Chrome
Navigate to chrome://inspect/#remote-debugging and toggle the switch. That's it.
The CLI auto-detects Chrome, Chromium, Brave, Edge, and Vivaldi on macOS, Linux, and Windows. If your browser stores DevToolsActivePort in a non-standard location, set the CDP_PORT_FILE environment variable to the full path.
Usage
scripts/cdp.mjs list # list open tabs
scripts/cdp.mjs shot <target> # screenshot → runtime dir
scripts/cdp.mjs snap <target> # accessibility tree (compact, semantic)
scripts/cdp.mjs html <target> [".selector"] # full HTML or scoped to CSS selector
scripts/cdp.mjs eval <target> "expression" # evaluate JS in page context
scripts/cdp.mjs nav <target> https://... # navigate and wait for load
scripts/cdp.mjs net <target> # network resource timing
scripts/cdp.mjs click <target> "selector" # click element by CSS selector
scripts/cdp.mjs clickxy <target> <x> <y> # click at CSS pixel coordinates
scripts/cdp.mjs type <target> "text" # type at focused element (works in cross-origin iframes)
scripts/cdp.mjs loadall <target> "selector" # click "load more" until gone
scripts/cdp.mjs evalraw <target> <method> [json] # raw CDP command passthrough
scripts/cdp.mjs open [url] # open new tab (triggers Allow prompt)
scripts/cdp.mjs stop [target] # stop daemon(s)
<target> is a unique prefix of the targetId shown by list.
Why not chrome-devtools-mcp?
chrome-devtools-mcp reconnects on every command, so Chrome's "Allow debugging" modal can re-appear repeatedly and target enumeration times out with many tabs open. chrome-cdp holds one persistent daemon per tab — the modal fires once, and it handles 100+ tabs reliably.
How it works
Connects directly to Chrome's remote debugging WebSocket — no Puppeteer, no intermediary. On first access to a tab, a lightweight background daemon is spawned that holds the session open. Chrome's "Allow debugging" modal appears once per tab; subsequent commands reuse the daemon silently. Daemons auto-exit after 20 minutes of inactivity.
This approach is also why it handles 100+ open tabs reliably, where tools built on Puppeteer often time out during target enumeration.
Explore related projects
affaan-m/ECC
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
298,404 starsNousResearch/hermes-agent
The agent that grows with you
261,129 starsmultica-ai/andrej-karpathy-skills
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
230,184 starsfirecrawl/firecrawl
Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥
199,027 stars