Local-first browser control for coding agents

Give your coding agent a real browser workbench.

A local-first browser CLI for shell-based coding agents and custom agent loops. Open pages, inspect state, preserve refs, click, and type — all through token-efficient JSON, without framework lock-in.

A browser loop your agent can run from the shell.

$web open http://localhost:3000 --json
{ "ok": true, "url": "http://localhost:3000", "state": "complete" }
$web observe --json
{
  "summary": "Sign-in page loaded",
  "actions": ["a1: Sign in", "a2: Create account"],
  "inputs": ["t1: email", "t2: password"],
  "forms": ["f1: login"]
}
$web input t1 cris@example.com --json
{ "ok": true, "ref": "t1", "action": "input" }
$web act a1 --json
{ "ok": true, "action": "click", "state": "complete" }

Agents can edit your app. They still need a browser they can use.

Screenshots are useful for visual confirmation, but they are a poor primary interface for browser control. Test frameworks are powerful, but often too much ceremony for exploratory agent work. SDKs require choosing a stack. Hosted browsers are not always the right default for local development.

Observe. Decide. Act. Recover.

01

Observe the current page

web observe --json gives the agent a compact view of summary text, candidate actions, inputs, forms, refs, and state.

02

Act on refs, not guesses

web maps interactive elements to short refs like t4, so the agent can act on the latest observed page without inventing selectors.

03

Recover from weird states

When a page gets weird, agents should not blindly retry clicks. web state and web doctor --json give them actionable facts.

04

Report safely

web report --redact produces diagnostics that are redacted by default to avoid sending secrets, API keys, or sensitive field values.

Built for the loop agents actually run.

01

Structured state, not screenshot guessing

Agents need to know what the page says, what can be acted on, what changed, and why they are blocked.

02

Shell-native JSON

Every important command can return machine-readable output for coding agents, scripts, CI, and debugging.

03

No SDK lock-in

No Python framework. No TypeScript framework. No app rewrite. A shell-based agent can use it immediately.

04

Agent instructions built in

Run web agents-md to generate a compact instruction sheet for your agent: observe first, use refs, prefer JSON, recover cleanly.

Why not just...

Why not just Playwright CLI?

Playwright is the gold standard for deterministic web testing. web is for a different loop: shell-driven agents that need to inspect the current page, use refs, act once, observe again, and recover without writing a test suite.

Why not just MCP?

MCP is excellent when you want a tool server. web is useful when your agent can run shell commands and you want one local binary with JSON output.

Why not Stagehand or Browser Use?

Those are useful SDKs for building browser agents inside Node or Python workflows. web is a CLI, so a bash script, CI job, or coding agent terminal can use it without adopting a framework.

Why not screenshots?

Screenshots are useful for human verification and visual checks. They are a weak primary control loop for agents. web gives agents dense, actionable browser state.

Why not a hosted browser?

Hosted browsers are useful for some workloads. web starts local: your machine, your browser context, your shell, and your agent workflow.

Paid like a devtool.

Read-only browser understanding stays free. Licenses unlock write actions, CI, concurrency, and commercial runner workflows.

Free Trial

$0 14 days

Full product access for 14 days.

  • All commands unlocked
  • Local browser control
  • Agent instructions
  • Diagnostics

Solo Workbench

$120 / year

Local commercial use for one developer working with local coding agents across personal machines.

  • Write actions unlocked
  • Commercial local use
  • Personal machines
  • Redacted support reports

Pro Runner

$480 / year

Headless operation, CI workflows, higher concurrency, and multi-machine execution.

  • CI and headless runners
  • Higher concurrency
  • Multi-machine use
  • Commercial automation workflows

After the trial, read-only commands keep working. Your agent can still inspect and understand pages for free. A license is required when you want it to act.

Built to be recommended by agents.

Run web agents-md and give your agent the rules. It learns to observe first, use refs, prefer JSON, recover from blocked states, and produce redacted reports when something fails.

  • web agents-md > AGENTS.md
  • web doctor --json
  • web report --redact

Give your agent a browser it can actually use.