Take the reins of your real browser from any coding agent.
reins.tech · docs · changelog
reins gives your coding agent control of the real, logged-in Chromium browser you already use, through a CLI and a Manifest V3 extension. Claude Code, Cursor, Codex, Copilot: anything with a shell. No MCP server to register, no debug profile, no launch flags, no tokens.
npm i -g @karnstack/reins # the CLI (daemon included, starts on demand)
npx skills add karnstack/reins # the skill, into your agent(s) of choiceThen install the extension in every Chromium browser you want agents to reach: Chrome, Brave, Edge, Arc, Dia.
Add reins from the Chrome Web Store. It finds the local daemon and connects on its own.
No store access? reins extension installs it through Load unpacked instead.
See docs/SIDELOAD.md. That is the whole setup, and
reins status shows what is connected.
reins snapshot # look: interactive elements with refs → e5: button "Submit"
reins click --ref e5 # act: by ref
reins text # check: or reins screenshot, which prints an image pathShared flags, on the commands that act on a page or a tab: --tab <id>
(default: active tab), --browser <id> (only when several are connected), and
--json for raw output. reins help is self-describing, and
reins cdp reaches the full Chrome DevTools Protocol when the curated commands
are not enough.
Chromium only, so no Firefox and no WebKit. No headless mode: reins drives a
browser you already have open, which also makes it the wrong tool for CI. With
two browsers connected, commands need --browser <id>, because reins never
guesses which one you meant. Releases are still 0.x, so commands, flags, and
output can change.
The full story lives on the site:
- Docs: getting started, architecture, and the complete command reference
- How it compares: reins next to agent-browser, dev3000, and playwright-mcp
- Security: per-site permissions,
127.0.0.1-only binding, and the threat model - Site permissions: the
deny,read, andfulltiers, and how to tighten them
Report vulnerabilities privately via GitHub security advisories.
mise install # Node 24.18.0 + pnpm 11.9.0 (exact, via mise)
pnpm install
pnpm dev # watch-build all packages (extension → dist/)
pnpm test # protocol + cli + extension unit/integration tests
pnpm lint && pnpm typecheck && pnpm build
pnpm reins tabs # build + run any CLI commandLocal walkthrough (load unpacked, allow the dev ID, drive tabs): docs/RUNNING.md. Releasing: docs/RELEASING.md.
Packages: protocol (shared zod frames), cli (@karnstack/reins, bin reins), extension (MV3), web (reins.tech), and skills/reins (the agent skill).