Take the reins of your real browser
$ npx -y skills add karnstack/reins --agent claude-code
Repo: karnstack/reins
What's inside
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 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 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 path
Shared 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:
127.0.0.1-only binding, and the threat modeldeny, read, and full tiers, and how to tighten themReport 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 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).
FAQ
reins is a Claude Code plugin with 1 hand-picked skill for automation work, indexed on Flowy. Install it with the command on its page. It includes reins. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it