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 type 1 cris@example.com --json
{ "ok": true, "command": "type", "message": "typed into candidate 1" }
$web do 2 --json
{ "ok": true, "command": "act", "message": "clicked tab=1 Sign in" }

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, web pause, and web transcript make the blocker explicit.

04

Report safely

web transcript --last 20 --json records redacted command output so humans can audit what the agent did.

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 / Read-only

$0 local use

Inspect and understand local browser state before buying.

  • Read and inspect commands
  • Local browser state
  • Agent instructions
  • Diagnostics

Solo

$120 / year

One developer using WebCLI commercially with local coding agents.

  • Write actions unlocked
  • Commercial local use
  • Personal machines
  • Redacted action transcripts

Eval

$1 / year

Live-payment evaluation license with Solo behavior for launch smoke tests.

  • Write actions unlocked
  • Solo activation limit
  • Real checkout and webhook path
  • Temporary launch validation tier

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 pause "Need human passkey approval"
  • web transcript --last 20 --json

Give your agent a browser it can actually use.