Skip to content

karnstack/reins

Repository files navigation

reins logo

reins

Take the reins of your real browser from any coding agent.

reins.tech · docs · changelog

npm CI MIT Chrome Web Store

An agent driving a real browser through reins: a login page with e3/e7 element refs, and an agent session running reins snapshot then reins click --ref e7

reins gives your coding agent (Claude Code, Cursor, Codex, Copilot — anything with a shell) control of the real, logged-in Chromium browser you already use, through a CLI and a Manifest V3 extension. No MCP server to register, no debug profile, no launch flags, no tokens.

Quick start

npm i -g @karnstack/reins        # the CLI (daemon included, starts on demand)
npx skills add karnstack/reins   # the skill, into your agent(s) of choice

Then 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 via Load unpacked instead — see docs/SIDELOAD.md. That's the whole setup; reins status shows what's connected.

The loop

reins snapshot              # list interactive elements with refs → e5: button "Submit"
reins click --ref e5        # act by ref
reins text                  # verify (or: reins screenshot → prints an image path)

Every command takes --tab <id> (default: active tab), --browser <id> (only when several are connected), and --json. reins help is self-describing; reins cdp is the escape hatch to the full Chrome DevTools Protocol.

Learn more

The full story lives on the site:

  • Docs — getting started, architecture, and the complete command reference
  • How it compares — vs 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 / full tiers and how to tighten them

Report vulnerabilities privately via GitHub security advisories.

Develop

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 command

Local 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).

License

MIT