chrome-bridge: let any AI agent drive your real logged-in Chrome
The Problem
Ask an agent to check something on a website and most tools spin up a clean browser with zero cookies. Playwright and friends drive a browser they launched, with a profile of their own. MCP browser bridges need an MCP-capable client and a configured server. Either way, you start every session logged out.
How chrome-bridge Works
chrome-bridge takes the other road: it drives the Chrome you are already logged into. A tiny unpacked extension talks over WebSocket to a local zero-dependency Node server, and any agent that can run a shell command can drive the browser:
node cli.mjs snap localhost:8082 # compact a11y snapshot with element refs
node cli.mjs click localhost:8082 @e4 # click by ref
node cli.mjs fill localhost:8082 @e2 "h****@example.com"
What a Snap Looks Like
A snap is the whole page as a compact text tree with refs you act on, roughly 10x cheaper on tokens than a screenshot:
table "Hacker News new | past | comments | ask | show | jobs | submit" @e1
link "Hacker News" @e5
link "new" @e6
link "submit" @e12
link "login" @e13
Key Features
- refs survive re-snaps, so the agent re-checks with
--diffinstead of re-reading the whole page - driven tabs get a purple pill that narrates what the agent is doing right now, plus a live command feed in your terminal
- multiple Chrome profiles are supported, and it refuses to guess which one you meant
- works with Claude Code, Cursor, Qwen, GLM, Kimi, or a plain script hitting the local HTTP endpoint - no MCP setup
Setup and Licensing
Setup is one paste into your agent plus one click to load the extension (Chrome requires that click). MIT licensed, zero dependencies, Node >= 18.
Repo and full agent manual: https://github.com/siropkin/chrome-bridge
Feedback welcome, especially on token cost of the snapshots against real workloads.
Comments
No comments yet. Start the discussion.