Take the reins of your real browser
$ npx -y skills add karnstack/reins --agent claude-code
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.
Repo: karnstack/reins
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.
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.
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.
The full story lives on the site:
127.0.0.1-only binding, and the threat modeldeny / read / 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).
.changeset/
audit-log.md
config.json
README.md
.github/
assets/
browser-dark.png
browser-light.png
workflows/
ci.yml
release.yml
.gitignore
.npmrc
biome.json
docs/
CHROME_WEB_STORE.md
PRIVACY.md
RELEASING.md
ROADMAP.md
RUNNING.md
SECURITY.md
SIDELOAD.md
superpowers/
plans/
2026-07-11-audit-log.md
2026-07-11-permission-model.md
specs/
2026-07-04-reins-cli-skill-design.md
2026-07-06-sideload-install-design.md
2026-07-11-audit-log-design.md
2026-07-11-permission-model-design.md
LICENSE
mise.toml
package.json
packages/
cli/
CHANGELOG.md
LICENSE
package.json
README.md
scripts/
bundle-extension.mjs
sideload-key.json
src/
allowlist.test.ts
allowlist.ts
args.test.ts
args.ts
audit-cli.test.ts
audit-cli.ts
audit.test.ts
audit.ts
bridge.test.ts
bridge.ts
cli-commands.test.ts
cli-commands.ts
cli.ts
commands.test.ts
commands.ts
config.test.ts
config.ts
daemon.test.ts
daemon.ts
ensure.test.ts
ensure.ts
integration.test.ts
log.test.ts
log.ts
policy-cli.test.ts
policy-cli.ts
rpc.test.ts
rpc.ts
serve.ts
sideload.test.ts
sideload.ts
version.ts
tsconfig.json
tsdown.config.ts
extension/
CHANGELOG.md
icons/
icon-128.png
icon-16.png
icon-32.png
icon-48.png
icon.svg
manifest.config.ts
package.json
scripts/
generate-icons.mjs
zip.mjs
src/
background.ts
css.d.ts
lib/
backoff.test.ts
backoff.ts
bridge-client.test.ts
bridge-client.ts
cdp.test.ts
cdp.ts
dispatch.test.ts
dispatch.ts
event-filter.test.ts
event-filter.ts
keys.test.ts
keys.ts
monitor.test.ts
monitor.ts
page-actions.test.ts
page-actions.ts
policy-view.test.ts
policy-view.ts
policy.test.ts
policy.ts
ring-buffer.test.ts
ring-buffer.ts
settings.test.ts
settings.ts
status.test.ts
status.ts
tab-handler.test.ts
tab-handler.ts
offscreen.html
offscreen.ts
popup.css
popup.html
popup.ts
store-assets/
generate.py
marquee-1400x560.png
screenshot-1280x800.png
small-tile-440x280.png
tsconfig.json
vite.config.ts
vitest.config.ts
protocol/
package.json
src/
bridge.test.ts
bridge.ts
cdp.test.ts
cdp.ts
frames.test.ts
frames.ts
index.ts
policy.test.ts
policy.ts
ports.test.ts
ports.ts
tsconfig.json
tsdown.config.ts
web/
components.json
package.json
public/
404.html
favicon.png
favicon.svg
llms.txt
og.png
robots.txt
sitemap.xml
src/
components/
animated-terminal.tsx
code-block.tsx
command-menu.tsx
copy-command.tsx
copy-markdown.tsx
docs-toc.tsx
hero.tsx
icons.tsx
ideas-section.tsx
logo.tsx
popup-mock.tsx
release-list.tsx
reveal.tsx
site-footer.tsx
site-header.tsx
terminal.tsx
theme-toggle.tsx
ui/
accordion.tsx
button.tsx
command.tsx
sheet.tsx
lib/
changelog.ts
dom-to-markdown.ts
highlight.ts
motion.ts
pagefind.ts
seo.ts
site.ts
use-copy.ts
use-github-stars.ts
utils.ts
router.tsx
routes/
__root.tsx
changelog/
extension.tsx
index.tsx
route.tsx
docs/
architecture.tsx
commands.tsx
comparison.tsx
faq.tsx
index.tsx
permissions.tsx
route.tsx
security.tsx
sideload.tsx
index.tsx
privacy.tsx
routeTree.gen.ts
styles.css
vite-env.d.ts
tsconfig.json
vite.config.ts
worker/
index.ts
wrangler.jsonc
pnpm-lock.yaml
pnpm-workspace.yaml
README.md
skills/
reins/
SKILL.md
tsconfig.base.json
turbo.jsonยฉ 2026 Flowy ยท Free and open source
Built for Claude Code ยท Not affiliated with Anthropic