Getting started
reins gives coding agents — Claude Code, Cursor, Codex, Copilot, anything with a shell — full control of your actual, logged-in Chromium browser through a CLI and a Manifest V3 extension. This page takes you from nothing to an agent driving a tab.
1. Install the CLI
npm i -g @karnstack/reinsThis installs the reins command and the daemon it manages. The daemon is invisible plumbing: any command starts it on demand, it binds to 127.0.0.1, and reins kill stops it. There is nothing to configure and nothing to keep running.
2. Add the extension
Install the reins extension from the Chrome Web Store in every Chromium browser you want agents to reach — Chrome, Brave, Edge, Arc, and Dia all work. The extension finds the daemon on its own through localhost port discovery; when the toolbar popover turns green, it is connected.
Working from a dev build instead? Load the unpacked extension and allow its ID once:
reins allow <extension-id>3. Teach your agent
npx skills add karnstack/reinsThe skill teaches agents the command set and the loop below. Agents without skill support can run reins help — the CLI is self-describing.
4. Verify
reins status # daemon state, port, connected browsers
reins tabs # every tab across every connected browser
reins doctor # diagnostic checks when something looks offThe loop agents use
Every page interaction follows the same three-beat rhythm: look, act, verify.
reins snapshot # interactive elements with refs
e3: input "Email"
e7: button "Sign in"
reins type --ref e3 --text "you@work.dev"
reins click --ref e7 # act by ref
reins text # verify — or reins screenshotEvery command accepts --tab <id> (defaults to the active tab), --browser <id> (only needed when several browsers are connected), and --json for raw output.
Next: the full command reference, or how the pieces fit in architecture.