agent-browser
agent-browser.dev- Category
- Developer Tools
- Rank
- No. 99Tools index
- Listed in
- #9 Control a browser
- Pricing
- Open Source
- Platform
- cli
- Type
- TOOL
- Builder
- @vercel-labs
- GitHub
- 42.1k stars
- Latest release
- v0.37.0
- Date
About
A native browser-automation CLI built for AI agents. It supports navigation, interaction, screenshots, compact accessibility-tree snapshots, session management, video recording, natural-language control, and CDP connections.
What it does
Agent-browser turns browser work into shell commands an agent can sequence. It opens pages, captures accessibility snapshots with stable element references, interacts through those references or semantic selectors, reads page content, waits for state changes, and produces screenshots or PDFs. Batch execution combines several steps in one process, while MCP offers another agent-facing interface.
Why it's ranked here
The tool combines broad browser control with thoughtful agent ergonomics. Accessibility references reduce selector construction, semantic finders remain available, and covered clicks fail early with useful context. Direct text fetching can avoid launching Chrome, while batch execution cuts repeated startup overhead. The native command layer and multiple installation routes make it practical beyond a single JavaScript project.
What's good
Its command set covers navigation, forms, keyboard and mouse input, uploads, device settings, screenshots, PDFs, JavaScript evaluation, and CDP connections. The read mode prefers markdown, can discover nearby agent documentation, filters sections, and falls back to extracted HTML text. Domain restrictions, content boundaries, output limits, fresh snapshots after blocked clicks, and optional annotated screenshots support controlled agent workflows.
Tradeoffs
Local browser automation still depends on Chrome or another detected compatible installation. Linux may require extra system packages, and failed dependency installation exits with an error. Building from source adds Node.js, pnpm, and Rust requirements. Element references come from snapshots, so overlays or page changes can require dismissing the obstruction and capturing a fresh snapshot before retrying.
How to use it well
Use it for agents that need repeatable command-line browsing, rendered-page inspection, form interaction, screenshots, or CDP access. Start with a snapshot, act through accessibility references, refresh after meaningful page changes, and batch stable multi-step sequences. Use direct read mode for documentation or articles when rendering is unnecessary. Do not choose it to avoid browser provisioning, since local interactive runs still need a detected browser or downloaded Chrome.
Technical notes+
package.json exposes bin/agent-browser.js as the npm CLI and defines native builds for Linux, macOS, and Windows. scripts/postinstall.js downloads the matching release binary, detects musl, falls back to x64 on Windows ARM64, records the package manager, and can redirect global shims to the binary. cli/build.rs reads Chrome DevTools Protocol JSON and generates serde-backed Rust domains, boxing known recursive fields and falling back to serde_json::Value for unresolved references. evals/run.ts exercises skill loading, selection, command usage, and context footprint, while evals/context-footprint.ts compares CLI skill context with paginated MCP tool listings.
Observed
- License
- Apache-2.0
- Primary implementation
- Native Rust CLI with a JavaScript package wrapper
- Install surfaces
- npm global or local package, Homebrew, Cargo, and source builds
- Interfaces
- Command-line interface and MCP server interface
- Platform support
- macOS, Linux including musl variants, and Windows; x64 and ARM64 handling varies by platform
- Browser requirement
- Uses detected compatible browser installations or downloads Chrome for Testing
Read from README.md, package.json, packages/@agent-browser/sandbox/src/index.ts, cli/build.rs, evals/run.ts, docs/next.config.mjs, bin/agent-browser.js, docs/eslint.config.mjs, scripts/copy-native.js, scripts/postinstall.js, docs/mdx-components.tsx, docs/postcss.config.mjs, scripts/sync-version.js, evals/context-footprint.ts, scripts/check-version-sync.js.
What it can do
Navigate to web pages
URL or web address → Page content in compact text format
Fill and submit web forms
Form field data and form selectors → Form submission confirmation and response
Take screenshots of web pages
Web page or specific elements → Screenshot image files
Extract text content from web pages
Web page HTML → Compact text representation of page content
Monitor network requests and responses
Web page interactions → Network activity data and API responses
Click elements and interact with page components
Element selectors and interaction commands → Page state changes and responses
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.