vercel-labs/agent-browser
agent-browser
Browser automation for AI agents: open pages, read them as an accessibility tree, and act on elements from the shell.
agent-browser is a native Rust CLI that gives an AI agent a browser it can drive one command at a time. snapshot returns the page as compact text with a ref such as @e1 for each element. The agent acts on a ref, reads the page again to check the result, and repeats. The browser stays open between commands, so each step is one short shell call.
Install
|
|
- Homebrew:
brew install agent-browser, thenagent-browser install. - Linux:
agent-browser install --with-depsalso installs the browser’s system libraries. - No install:
npx agent-browser open example.com.
Project installs, building from source, upgrade, and doctor are covered in Installation.
Quick start
|
|
The snapshot for example.com:
|
|
- Refs describe the page at the time of the snapshot. After navigation or a DOM change, take a new snapshot before using refs again.
- CSS selectors, text, XPath, and semantic locators also work, for example
agent-browser find role button click --name "Submit". See Selectors. - A click fails, instead of reporting success, when the target is hidden, disabled, outside the viewport, or covered by another element such as a consent banner. Dismiss the covering element, take a new snapshot, and retry.
The full walkthrough is in the quick start.
How it works
The CLI sends each command to a background daemon that starts on the first command and controls the browser over the Chrome DevTools Protocol. Each --session gets its own daemon and browser. By default, the daemon closes a headless browser and exits after one hour without commands, saving state first when session persistence is configured.
Chrome for Testing is the default browser. You can also attach to a running Chrome with --cdp or --auto-connect (CDP mode), select the Lightpanda or Obscura engine with --engine, drive Mobile Safari in the iOS Simulator, or use a cloud browser provider such as Browserbase, Browserless, Browser Use, Kernel, or AgentCore.
For AI agents
The CLI ships skills that match its version:
|
|
Install the discovery skill into an agent harness from skills.sh:
|
|
The installed skill is a thin stub that tells the agent to load agent-browser skills get core, so its instructions always match the installed CLI. Or add this to your AGENTS.md:
|
|
For MCP clients, agent-browser mcp starts an MCP server over stdio. See MCP server.
Commands
Run agent-browser --help for the full list, or agent-browser <command> --help for one command.
| Group | Commands | Docs |
|---|---|---|
| Navigate and read | open, back, forward, reload, read, snapshot, get, is |
Core, Snapshots |
| Interact | click, dblclick, fill, type, press, keyboard, hover, focus, select, check, uncheck, scroll, drag, upload, mouse, find |
Core, Find elements |
| Wait | wait |
Wait |
| Capture | screenshot, pdf, record, download, diff |
Recording, Diffing, Files |
| Page and network state | cookies, storage, network, set, clipboard, eval, pushstate |
Network, Settings |
| Tabs, frames, and dialogs | tab, frame, dialog |
Tabs and frames |
| Debug and performance | console, errors, highlight, inspect, trace, profiler, vitals, react, a11y |
Debugging, Profiler, React |
| Sessions and auth | session, state, auth, profiles, confirm, deny |
Sessions, Security |
| Agents and integrations | skills, mcp, webmcp, flow, chat, batch, plugin |
Skills, WebMCP, Plugins |
| Observe | stream, dashboard |
Streaming, Dashboard |
| Setup | install, upgrade, doctor, connect, close |
Installation |
Flags, environment variables, and agent-browser.json are documented in Configuration.
Platforms
Native binaries ship for macOS (ARM64, x64), Linux (ARM64, x64, glibc and musl), and Windows (x64). The npm package picks the right binary for the host.
Development
Building from source requires Node.js 24 or later, pnpm 11 or later, and Rust:
|
|
Run the Rust checks from cli/:
|
|
AGENTS.md lists the files to update with each change, the docs checks, and the release process.
Documentation
- agent-browser.dev: introduction, guides, and reference
- Commands and Configuration
- Security: the auth vault, domain allowlists, action policies, and content boundaries
- Next.js and Vercel and eve: running agent-browser in Vercel Sandbox and eve agents
- Changelog
License
Apache-2.0