Control your REAL Chrome with Chrome CDP

The problem
I lost several hours banging my head against Playwright automation. It's become rare to be blocked on a technical issue in the age of AI.
I wanted Claude to access the DOM of the Twitter feed page to identify HTML patterns and test modifications in real time.
Simple in theory.

It quickly turns into a nightmare. From a technical standpoint, Playwright starts from a fresh, isolated browser (in automation mode) on every execution.
So I have to log back into Twitter, which obviously detects that the browser is in test/automation mode and blocks me.
The (belated) solution
I was out of ideas and, above all, out of patience when I saw a Twitter post announcing that Chrome had just released version 146, and from there a solution that could simplify everything: chrome-cdp.
As we've seen, most browser automation tools launch an isolated, empty browser every time. Not chrome-cdp — it connects directly to your running Chrome: your open tabs, your logged-in sessions, your current page state. Nothing to reinstall, nothing to reconfigure.
CDP is the native interface that allows you to control Chrome from its lower layers.

The chrome-cdp skill then uses it to pass simple commands to an agent. Which, incidentally, is much less context-expensive than using an MCP.
chrome-cdp maintains a persistent daemon per tab: the modal only appears once, and it reliably handles 100+ tabs where Puppeteer-based tools regularly time out.
Installation in 4 steps
1) Update Chrome to version 146

2) Enable remote debugging
chrome://inspect/#remote-debuggingEnable the toggle. That's it.

3) Fetch the skill and install it
npx skills add https://github.com/pasky/chrome-cdp-skill --skill chrome-cdp
4) Enjoy 🎉
Your agent can now list your tabs, take screenshots, read the DOM, click, type text, evaluate JavaScript — all within your real Chrome, without leaving your workflow.

Comments (0)
> No comments yet.