/products/runtimes · v0.12.0 preview

Browser automation with capability-scoped tokens and a checkpoint before every irreversible click.

Run multi-principal browser automation through explicit capabilities, idempotency, evidence, checkpoints, and authenticated control surfaces.

/why

Three ways browser automation usually goes wrong

Grounded in the v0.12.0 documentation, not marketing claims.

01

One leaked token shouldn't hand over the whole runtime

authority:admin

Every bearer is bound to one principal, an explicit capability set, and a 90-day TTL. A caller with authority:admin can issue new principals, but only a subset of its own capabilities, never authority:admin itself — and the server persists a SHA-256 hash of the bearer, never the plaintext. CDP and MCP connections are re-checked against the same capability set as HTTP, at dispatch, including long-lived sessions.

02

A retried request shouldn't submit the form twice

idempotency-key

Mutating calls carry an idempotency-key; a duplicate returns idempotencyConflict (409) instead of re-running the command. Boundary actions (form submit, a followed link) go further: the runtime refuses to run one unless a checkpoint already names its exact commandId/attemptIdautoCheckpoint does this automatically, so a network retry can't double-submit.

03

A crash mid-workflow shouldn't guess what already happened

NeedsReconciliation

Checkpoints record workflow, session, page, restart URL, and replayable inputs before boundary work. If the runtime can't prove an outcome after a loss, recovery status returns NeedsReconciliation instead of silently replaying the action. Event reads are cursor-based, so a resumed client either continues exactly where it left off or gets an EventGap — never a silent skip.

/surfaces

Three control surfaces, one authority model

Same bearer, same capability checks, whichever surface your code talks to.

01

TypeScript SDK for application code

@cavi-ai/bobby-browser

BrowserRuntimeClient (Node ≥ 22) sets the auth, interface-version, and correlation headers on every request and exposes typed calls for sessions, commands, checkpoints, recovery, and the event stream.

02

MCP tools for agent hosts

mcp-gateway

The same tool surface is reachable over stdio or streamable HTTP (POST /v1/mcp), and each tool — navigate, intent_fill, checkpoint_save, and the rest — is only advertised to a principal once it holds the required capability.

03

Authenticated CDP for existing tooling

bobby cdp

A separate, bearer-gated Chromium DevTools listener (default 127.0.0.1:9222) for Playwright/Puppeteer primitives — unlike a plain CDP endpoint, a connection still needs session:write and page:write before it can drive anything.

/install

Download the archive for your platform

No package-manager release yet. The v0.11.1 release ships five platform archives; each contains bobby, mcp-gateway, and acp-gateway.

Linux / macOS
curl -fsSL https://raw.githubusercontent.com/cavi-ai/bobby-browser/main/scripts/install.sh | bash

  • Windows has no installer script yet — download the .zip above and run bobby doctor.
  • Building from source works on every platform: cargo build -p bobby-browser --release.
  • After install, bobby init prints a bootstrap bearer once; it is never logged or re-printed in plaintext.

/release

Release trust

Version, source, license, and verification state are explicit.

Version
0.12.0
Status
preview
License
MIT
Last verified
2026-08-31