Show HN: Reins – let coding agents drive your real, logged-in browser

karngyan1 pts0 comments

reins: drive your real browser from your coding agent<br>DocsGitHub

Take the reins of your real browser<br>reins lets coding agents (Claude Code, Cursor, Codex, anything with a shell) drive the logged-in browser you already use. No debug profile, no launch flags, no MCP server to register.<br>svg]:px-4">Get startedsvg]:px-4">View on GitHub<br>$ npm i -g @karnstack/reins

agent session

$ reins tabs<br>b1 chrome tab 12 * Dashboard — localhost:3000<br>$ reins snapshot<br>e3: input "Email"<br>e7: button "Sign in"<br>$ reins type --ref e3 --text "you@work.dev"<br>$ reins click --ref e7<br>$ reins screenshot<br>~/.reins/shots/tab-12.png

How it works<br>Install once, drive everything<br>Three pieces, all yours: a CLI your agent calls, a daemon it auto-spawns, and an extension that dials in. Nothing to keep running, nothing to register per agent.<br>01<br>Install the CLI<br>The daemon ships inside and starts on demand; any command spawns it.<br>$ npm i -g @karnstack/reins

02<br>Add the extension<br>Install it from the Chrome Web Store in every browser you want agents to reach. It discovers the daemon on its own and the toolbar icon turns green when connected.<br>svg]:px-3 mt-4">Get the extension<br>03<br>Teach your agent<br>The skill teaches any coding agent the command loop. From here, the agent drives.<br>$ npx skills add karnstack/reins

Everything an agent needs to work a page<br>A small, curated command set covers the whole loop: look at the page, act on it, verify the result.<br>Every tab, every browserList, open, focus, and close tabs across Chrome, Brave, Edge, Arc, and Dia. One daemon serves every connected browser.<br>Real interactionClick, type, fill, select, hover, scroll, press keys, and upload files, all addressed by stable element refs, not brittle selectors.<br>See the pageSnapshot interactive elements, read visible text, and capture screenshots your agent can open and reason about.<br>Debug signalsRead a tab's recent console messages and network requests without ever opening DevTools.<br>An escape hatchEvaluate JavaScript in the page, or issue raw Chrome DevTools Protocol commands when the curated set isn't enough.<br>Your sessions intactIt is your real profile, with logins, cookies, and state included. No separate automation browser to babysit.

Local by design<br>reins has no cloud half. The extension talks to one thing, your own daemon on 127.0.0.1, and collects nothing, for anyone. The whole stack is open source and auditable.<br>Read the security model

Everything binds 127.0.0.1; nothing is reachable from the network.

Host-header validation blocks DNS rebinding, so web pages can't reach the daemon.

Only allowlisted chrome-extension:// origins may connect, an identity pages can't forge.

Chrome shows its native debugging banner whenever the extension is attached.

The popup's Disconnect toggle severs the connection instantly.

Hand your agent the reins<br>Two installs and a skill: your agent is driving your browser in under a minute.<br>$ npm i -g @karnstack/reins

svg]:px-4">Read the docs

reins agent browser chrome daemon extension

Related Articles