📈 GH Trending Explorer 🎲 Surprise me

← all repos

vercel-labs / agent-browser

git clone https://github.com/vercel-labs/agent-browser.git v0.39.1 · 9d ago

Browser automation CLI for AI agents

+24
stars, 24h · #638
+~168
stars, 7 days · #775
+~720
stars, 30 days · #758
44k
★ total · +0% this week
3.0k
forks · 699 open issues

Star history (as recorded here)

2026-10-20 · 44,331 ★ 2026-10-22 · 44,403 ★
LanguageRust
LicenseApache-2.0
Created2026-01-11 (9mo ago)
Last push1d ago
Watchers109
OwnerOrganization

Links

README excerpt
# agent-browser
Browser automation CLI for AI agents. Fast native Rust CLI.
## Installation
### Global Installation (recommended)
Installs the native Rust binary:
 [code] 
### Project Installation (local dependency)
For projects that want to pin the version in `package.json`:
 [code] 
Then use via `package.json` scripts or by invoking `agent-browser` directly.
### Homebrew (macOS)
 [code] 
### Cargo (Rust)
 [code] 
### From Source
Requires Node.js 24+, pnpm 11+, and Rust.
 [code] 
### Linux Dependencies
On Linux, install system dependencies:
 [code] 
This exits nonzero if the package manager cannot install every required browser library.
### Updating
Upgrade to the latest version:
 [code] 
Detects your installation method (npm, Homebrew, or Cargo) and runs the appropriate update command automatically.
### Requirements
- **Chrome** - Run `agent-browser install` to download Chrome from Chrome for Testing (Google's official automation channel). Existing Chrome, Brave, Playwright, and Puppeteer installations are detected automatically. No Playwright or Node.js required for the daemon.
- **Node.js 24+ and pnpm 11+** - Only needed when building from source.
- **Rust** - Only needed when building from source (see From Source above).
## Quick Start
 [code] 
Clicks fail early when another element covers the target's click point, for example a consent banner or modal. Dismiss or interact with the reported covering element, then take a fresh snapshot before retrying the original ref. Click and dblclick fail, instead of reporting success, when the element is hidden, disabled, or outside the viewport. `click --new-tab` opens the link's URL directly, so these checks do not apply to it.
Headless Chromium screenshots hide native scrollbars for consistent image output. Pass `--hide-scrollbars false` when launching to keep native scrollbars visible.
### Traditional Selectors (also supported)
 [code] 
## Commands
### Core Commands
 [code] 
### WebMCP (experimental)
WebMCP is enabled by default in agent-browser-managed Chrome. Use `--no-webmcp` to disable the launch features and proactive context.
Browser responses automatically announce WebMCP tools on first discovery and when the catalog changes. Summaries contain only names, brief descriptions, origins, and frame IDs. Choose a relevant tool, then fetch its full schema with `agent-browser webmcp list --frame --json` before invoking it. Schemas and annotations are never included proactively. Unchanged catalogs and pages without tools add no context.
JSON exposes updates as `data.webmcp`; CLI and MCP text use the same summaries. An omitted field means no update. A one-time `status: "ready"` update with `tools: []` clears previously advertised tools; `status: "unavailable"` invalidates them when observation fails. Every emitted summary replaces earlier availability, including schema-only changes. After conversation compaction or joining an existing browser session, use `webmcp list` to recover context. Administrative