FAQ
The ones people ask first
Straight answers, no hedging. If yours is not here, the docs go deeper and the issue tracker is open.
Do I need an API key?
No. Browsentic runs on the agent CLI login you already have: Claude Code, Codex or Antigravity. There is no API client anywhere in the repository and nothing to paste into a settings field. The daemon spawns your chosen CLI locally, as you.
Is this a headless browser?
The opposite. It drives the real, logged-in tab in front of you: your sessions, your cookies, your extensions, your two-factor state. Nothing has to be re-authenticated in a throwaway profile.
What stops a random web page from driving my browser?
Two gates. The daemon classifies every WebSocket peer by its handshake Origin, which the browser sets and a page cannot forge, and then still requires a pairing token or an origin-bound session key. A page fails the first gate and never reaches the second.
Can I use it from something other than Claude Code?
Yes. The daemon speaks MCP over stdio, so any MCP client drives the same browser: Codex, Antigravity, Cursor, Zed, Claude Desktop. Run claude mcp add browsentic -- browsentic-mcp, or the equivalent in your client. Tool definitions are generated from the same registry the extension ships, so they cannot drift from what the browser can actually do. The side panel is switchable too: it runs on Claude Code, Codex or Antigravity, picked from the popup with one click.
Can it automate several tabs at the same time?
Yes. Every tab gets its own conversation, bound to the tab it started in, so a session carries on there while you look at something else instead of following whichever tab is in front. Eight sessions can be open and three work at once by default, raised as far as eight with maxConcurrentRuns. A fourth holds for a slot, ending one leaves the rest alone, and a tab another conversation has claimed answers TAB_IN_USE.
What can I actually automate with it?
Ordinary browsing work on sites you are already signed in to: negotiating a renewal in a support chat that already holds your ticket history, answering a job application from a resume you attached, taking a cancellation as far as the step that cannot be undone, watching a slow release and saying when it lands, redoing Friday’s expense report from a recording, or pulling one summary out of five dashboards. Anything that commits something, or sends it to someone other than you, pauses and names itself before it happens.
Which browsers work?
Chrome or any Chromium browser via Manifest V3, and Firefox builds work too. You will need Node.js 20 or newer, and one agent CLI on your PATH: claude, codex or agy.
What does it cost?
Nothing. It is MIT licensed and open source. The only cost is whatever your existing agent subscription already costs you.
How do I add a capability?
One module in lib/actions/page/ and one line in the registry, which publishes it as an MCP tool at the same time. That is the whole of creating your own browsing action. Four conventions in an action module are load-bearing at runtime: touch document and window only inside execute(), keep underscores out of action names, describe() every input field, and validate with ActionError inside execute() rather than a zod refine or transform.
Stop describing the page. Hand it over.
Free and MIT licensed. Nothing to sign up for, no key to paste, and a fresh install connects to nothing until you redeem a pairing code yourself.
claude mcp add browsentic -- browsentic-mcp