What it does
-
Your real profile
Chromium 136 and later refuse
--remote-debugging-porton your default profile, so the DevTools protocol cannot reach the browser you actually use. An extension runs inside that profile with your sessions instead. -
Its own tab group
The agent only touches tabs it opened or adopted, kept in a group you can see. Close the group and the whole session is gone.
-
Numbered snapshots
chromectl snapshotturns the page into numbered elements. Click by number, type into a field, scroll, wait for a selector, run JS, take a screenshot. -
Nothing on the network
The daemon binds
127.0.0.1and the extension connects to it over a websocket. A ping every 20 seconds keeps the MV3 worker alive; nothing is exposed to your LAN. -
Any agent, one command
The agent just runs
chromectl ...in a shell, so no vendor's chat sidebar sits in the middle and any harness can drive it. -
Background by default
Opening a page does not steal focus. Tabs land in the Agent group while you keep working in your own.
Install
-
Run the installer
It installs dependencies, compiles the TypeScript, links
chromectlinto~/.local/bin, links the skill for Claude Code and opencode, and starts the daemon.git clone https://github.com/ghostyshell/browser-bridge.git cd browser-bridge ./install.sh
-
Load the extension once
Open
chrome://extensions, turn on Developer mode, choose Load unpacked and select theextensionfolder, then pin it. The badge turns into a purple dot when the agent connects. -
Drive it
chromectl open https://example.com chromectl snapshot chromectl click 12 chromectl type 3 "hello" --submit chromectl screenshot
│ chromectl snapshot | click | type ...
▼
daemon 127.0.0.1:8737 · ~/.config/browser-bridge/
│ websocket, ping every 20s keeps the MV3 worker alive
▼
extension inside your profile: your logins, your session
│
▼
tab group "Agent": only the tabs the agent opened or adopted