Skip to content
AI News HubLIVE
In-site rewrite2 min read

Agent-Browser – Browser Automation for AI

Summary

Agent-Browser is a Rust-based browser automation CLI built for AI agents, using compact accessibility-tree snapshots with refs to minimize token usage. It supports over 50 commands, stateful sessions, cross-platform native binaries, and works with major AI coding tools.

SourceHacker News AIAuthor: Garbage
Agent-Browser – Browser Automation for AI
Report an error

The correction channel is not available yet. You can copy the article reference below for later.

Correction instructions
Read article

agent-browser#

Browser automation CLI designed for AI agents. Compact text output minimizes context usage. 100% native Rust.

npm install -g agent-browser # all platforms brew install agent-browser # macOS agent-browser install # Download Chrome (first time)

or try without installing

npx agent-browser open example.com

Features#

Agent-first: Compact text output uses fewer tokens than JSON, designed for AI context efficiency

Ref-based: Snapshot returns accessibility tree with refs for deterministic element selection

Complete: 50+ commands for navigation, forms, screenshots, network, storage, files, tabs, frames, and debugging

Observable: Video recording, streaming, debugging, profiler, and diffing tools are built in

Modern apps: Network control, React & Web Vitals, init scripts, Next.js + Vercel, and eve Extension workflows have first-class docs

Stateful: Sessions, profiles, auth state, cookies, storage, proxy, and security controls support long-running agents

Cross-platform: macOS, Linux, Windows with native binaries

Works with#

Claude Code, Cursor, GitHub Copilot, OpenAI Codex, Google Gemini, opencode, and any agent that can run shell commands.

Example#

Navigate and get snapshot

agent-browser open example.com agent-browser snapshot -i

Output:

- heading "Example Domain" [ref=e1]

- link "More information..." [ref=e2]

Interact using refs

agent-browser click @e2 agent-browser screenshot page.png agent-browser close

Why refs?#

The snapshot command returns a compact accessibility tree where each element has a unique ref like @e1, @e2. This provides:

Context-efficient: Text output uses ~200-400 tokens vs ~3000-5000 for full DOM

Deterministic: Ref points to exact element from snapshot

Fast: No DOM re-query needed

AI-friendly: LLMs parse text output naturally

Architecture#

Client-daemon architecture for optimal performance:

Rust CLI: Parses commands, communicates with daemon

Native Daemon: Pure Rust daemon using direct CDP, manages Chrome via Chrome DevTools Protocol

The daemon starts automatically and persists between commands. By default, it saves configured restore state, closes its headless browser, and exits after one hour without commands or dashboard input. Without --restore or another restore key, shutdown discards transient browser state and open tabs. Headed browsers, Safari and iOS WebDriver sessions, and user-attached browsers are exempt from the default timeout; provider-owned cloud browsers are not. Use --idle-timeout or AGENT_BROWSER_IDLE_TIMEOUT_MS to tune the timeout, and use 0 to disable it.

Platforms#

Native Rust binaries for macOS (ARM64, x64), Linux (ARM64, x64), and Windows (x64).

Key points and analysis

Article intelligence

EngineersAdvanced

Key points

  • Native Rust CLI and daemon using Chrome DevTools Protocol.
  • Agent-first compact text output reduces context usage.
  • Ref-based accessibility tree enables deterministic element selection.
  • Works with Claude Code, Cursor, Copilot, Gemini, and more.

Highlights and analysis are generated automatically and may contain errors. Check the original source.