Skip to content

Agent Browser — Setup Guide

Source: vercel-labs/agent-browser (38,590⭐) Category: Browser Automation Languages: Rust + Node.js

Fast native Rust CLI for browser automation, purpose-built for AI agents. Uses Chrome for Testing with accessibility-tree-based interaction (snap + refs) plus traditional CSS selectors. No Playwright or Node.js runtime dependency for the daemon.


Installation

# Global install (recommended)
npm install -g agent-browser
agent-browser install  # Downloads Chrome for Testing (first time only)

# Or via Homebrew (macOS)
brew install agent-browser
agent-browser install

# Or via Cargo (Rust)
cargo install agent-browser
agent-browser install

# Linux: install system dependencies automatically
agent-browser install --with-deps

# Update
agent-browser upgrade

Prerequisites

Requirement Details
Chrome agent-browser install downloads from Chrome for Testing. Existing Chrome/Brave/Playwright/Puppeteer installations detected automatically.
Node.js 24+ Only needed when building from source
Rust Only needed when building from source
Hermes Agent Any version — CLI tool, no integration required

Key Capabilities

Core Features

Capability How to Trigger Notes
Open page agent-browser open <url> Launches headless Chrome
Accessibility snapshot agent-browser snapshot Returns accessibility tree with refs (@e1, @e2...)
Click by ref agent-browser click @e2 Ref-based clicking from snapshot
Fill by ref agent-browser fill @e3 "text" Fill input fields by ref
Get text agent-browser get text @e1 Extract text content by ref
Screenshot agent-browser screenshot page.png Full-page or viewport screenshots
CSS selectors agent-browser click "#submit" Traditional selector support
JavaScript eval agent-browser eval "document.title" Execute JS in page context
Daemon mode agent-browser daemon Persistent browser session

CLI Command Reference

# Quick start flow
agent-browser open example.com
agent-browser snapshot
agent-browser click @e2
agent-browser fill @e3 "test@example.com"
agent-browser get text @e1
agent-browser screenshot page.png
agent-browser close

# Traditional selectors
agent-browser click "#submit"
agent-browser fill "input[name='email']" "user@test.com"

# JavaScript evaluation
agent-browser eval "document.title"
agent-browser eval "JSON.stringify(window.__NEXT_DATA__)"

# Daemon mode for persistent sessions
agent-browser daemon --port 3000

CorpusIQ Use Cases

Use Case How
Web scraping Use snapshot + get text to extract structured data from any site without building selectors
Competitive research Open competitor sites, screenshot features, extract pricing data
Social media monitoring Automate profile checks, extract follower counts, monitor mentions
Form automation Fill and submit lead gen forms, waitlist signups, directory submissions
SEO auditing Extract meta tags, check page structure, audit accessibility trees

Troubleshooting

Issue Fix
Chrome not found Run agent-browser install to download Chrome for Testing
Covering element blocks click Dismiss the covering element (consent banner, modal), take fresh snapshot, retry
Linux dependencies missing Run agent-browser install --with-deps
Snapshot too large Use CSS selectors for targeted interaction instead of full accessibility tree
Daemon port in use Specify alternate port: agent-browser daemon --port 3001

Verification

# Verify installation
agent-browser --version

# Quick functional test
agent-browser open example.com && agent-browser get text @e1 && agent-browser close

Skills Catalog | Discovery Page Powered by CorpusIQ