GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - vercel-labs/agent-browser: Browser automation CLI for AI agents

BranchesTags
Open more actions menu

Latest commit

 

History

832 Commits
832 Commits

Folders and files

NameName
Last commit message
Last commit date
.agents/skills/technical-writer
.agents/skills/technical-writer
 
 
.claude-plugin
.claude-plugin
 
 
.github
.github
 
 
.husky
.husky
 
 
benchmarks
benchmarks
 
 
bin
bin
 
 
cli
cli
 
 
docker
docker
 
 
docs
docs
 
 
evals
evals
 
 
examples
examples
 
 
packages
packages
 
 
patches
patches
 
 
scripts
scripts
 
 
skill-data
skill-data
 
 
skills/agent-browser
skills/agent-browser
 
 
test
test
 
 
.claude
.claude
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.node-version
.node-version
 
 
.prettierrc
.prettierrc
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
agent-browser.schema.json
agent-browser.schema.json
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 

Repository files navigation

agent-browser

Browser automation for AI agents: open pages, read them as an accessibility tree, and act on elements from the shell.

Vercel Labs Product npm version: agent-browser License: Apache-2.0 npm downloads per month: agent-browser skills.sh

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

npm install -g agent-browser
agent-browser install           # download Chrome for Testing (first time only)
  • Homebrew: brew install agent-browser, then agent-browser install.
  • Linux: agent-browser install --with-deps also 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

agent-browser open example.com
agent-browser snapshot -i       # interactive elements, each with a ref
agent-browser click @e1         # act on a ref from that snapshot
agent-browser get url           # check the result
agent-browser close

The snapshot for example.com:

- link "Learn more" [ref=e1]
  • 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:

agent-browser skills get core                 # the core loop, refs, waiting, and common workflows
agent-browser skills get core --ref commands  # one reference, such as the full command list
agent-browser skills get core --full          # adds the full command reference and templates
agent-browser skills list                     # specialized skills: electron, slack, dogfood, and more

Install the discovery skill into an agent harness from skills.sh:

npx skills add vercel-labs/agent-browser

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:

Use `agent-browser` for browser automation. Before the first use, run
`agent-browser skills get core` and follow it.

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:

pnpm install
pnpm build:source               # builds the dashboard and the native CLI
pnpm link --global
agent-browser install

Run the Rust checks from cli/:

cargo fmt -- --check
cargo clippy
cargo test
cargo test e2e -- --ignored --test-threads=1   # launches real headless Chrome

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

About

Browser automation CLI for AI agents

agent-browser.dev

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

50.1k stars

Watchers

110 watching

Forks

3.5k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.