01 · Browser shell
Start with a real browser.
One command launches Chrome over WebDriver BiDi — visible while you build, headless in CI. Navigate, wait, reload, capture. Every run is a real render of your real app, not a DOM emulation.
Agentic browser testing and debugging for real web apps
browserlane gives AI agents and developers a single binary for driving Chrome, inspecting web apps, debugging failures, and capturing evidence across every run.
v0.1.3 · one static binary · macOS / Linux / Windows · Apache-2.0
{ "name": "browser_click", "arguments": { "selector": "@e2" } } → clicked · 96 ms
A single Rust binary for macOS, Linux, and Windows. No Node, no driver daemon, no runtime.
66 CLI commands for humans and scripts. 86 MCP tools for AI agents. Same engine underneath.
The W3C-standard bidirectional protocol — not a vendor side-channel.
Real renders, real input events, real state — and evidence captured on every run.
The browser stack
Shell, tabs, DOM, input, state, signals, environment, evidence. browserlane gives agents and developers a handle at every layer — not just a screenshot of the top one.
01 · Browser shell
One command launches Chrome over WebDriver BiDi — visible while you build, headless in CI. Navigate, wait, reload, capture. Every run is a real render of your real app, not a DOM emulation.
02 · Tabs & contexts
Pages are enumerable and addressable — open, list, and switch by index or URL. A warm daemon keeps the session alive between commands, so multi-tab flows stay scriptable.
03 · Page & DOM
Query by CSS, role, label, text, or XPath. Map every interactive element to a stable @ref an agent can act on, and read the accessibility tree the way assistive tech does.
04 · Human inputs
Real pointer and keyboard events with actionability checks built in: click, type, fill, drag, press. If a human can do it in the page, an agent can script it — and the app can’t tell the difference.
05 · State & auth
Export cookies, localStorage, and sessionStorage as JSON; restore them in the next run. Log in once, then test authenticated flows on every run after — no scripted logins.
06 · Console & network
Recordings capture console output and network activity alongside snapshots — the failed POST and the stack trace behind it travel with the run, not just the final pixels.
07 · Emulation
Resize to any device, override geolocation, and force CSS media features like dark mode or reduced motion — per session, without touching app code.
08 · Recording & observability
Assertions with real exit codes, structured diffs between steps, annotated screenshots, replayable recordings. When a run fails, you open the evidence — you don’t reproduce the failure.
Two surfaces
The same engine answers to a human at a shell and to an agent over MCP. Whatever your agent learns to do, you can reproduce by hand — and vice versa.
CLI · for humans & scripts
66 commands with composable output and real exit codes — pipe them, script them, put them in CI.
MCP · for AI agents
86 tools over stdio JSON-RPC. One command registers the server with Claude Code, Claude Desktop, Cursor, VS Code, or Codex.
$ bl add-mcp claudeMCP reference →There’s a third, token-light surface too: a Claude Code skill that teaches agents the CLI directly — bl add-skill. Skill reference →
Debugging
Most browser tools tell an agent what the page looks like. browserlane also tells it what happened — assertions with exit codes, structured diffs, and recordings that carry console and network context. Failures become evidence to read, not behavior to guess at.
Assertions · real exit codes
State diffs · between steps
Recordings · replayable runs
Screenshots · annotated evidence
Quickstart
One line to install, one command to fetch Chrome for Testing, and you’re driving a real browser — from your shell or your agent.
1 · Install — macOS / Linux
Windows (PowerShell)
2 · Fetch Chrome for Testing
3 · First commands
For agents · register the MCP server