agent-browser
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
Best use case
agent-browser is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "agent-browser" skill to help with this workflow task. Context: A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/agent-browser/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How agent-browser Compares
| Feature / Agent | agent-browser | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Agent Browser A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands. ## Installation ### npm recommended ```bash npm install -g agent-browser agent-browser install agent-browser install --with-deps ``` ### From Source ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build agent-browser install ``` ## Quick Start ```bash 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 ``` ## Using Real Chrome Profile (for OAuth/Logged-in Sessions) For sites requiring Google/Discord/etc login (like star-swap.com): **Method 1: Launch Chrome with custom profile, connect via CDP** ```bash # Terminal 1: Launch Chrome with your real profile and remote debugging google-chrome --remote-debugging-port=9222 --user-data-dir=/home/willr/.config/google-chrome/Default & # Terminal 2: Connect agent-browser to that Chrome instance agent-browser --cdp 9222 open "https://star-swap.com" agent-browser --cdp 9222 snapshot -i agent-browser --cdp 9222 click e2 # This reuses your existing Google session - no re-login needed! # Works for: Google OAuth, Discord OAuth, any site you're logged into in Chrome ``` **Method 2: Session persistence (first-time manual login)** ```bash # First time: headed mode, login manually agent-browser --headed --session starswap open "https://star-swap.com" # Complete Google OAuth manually in the browser window # Close when done # Future runs: cookies persist! agent-browser --session starswap open "https://star-swap.com" # Already logged in automatically ``` **am.will.ryan Chrome profile:** `/home/willr/.config/google-chrome/Default` ## Core Commands ### Navigation ```bash agent-browser open <url> agent-browser back agent-browser forward agent-browser reload ``` ### Interaction ```bash agent-browser click <sel> agent-browser dblclick <sel> agent-browser focus <sel> agent-browser type <sel> <text> agent-browser fill <sel> <text> agent-browser clear <sel> agent-browser press <key> agent-browser keydown <key> agent-browser keyup <key> agent-browser hover <sel> agent-browser select <sel> <val> agent-browser check <sel> agent-browser uncheck <sel> agent-browser drag <src> <tgt> agent-browser upload <sel> <files> ``` ### Extraction and Info ```bash agent-browser snapshot agent-browser get text <sel> agent-browser get html <sel> agent-browser get value <sel> agent-browser get attr <sel> <attr> agent-browser get title agent-browser get url agent-browser get count <sel> agent-browser get box <sel> agent-browser screenshot [path] agent-browser pdf <path> ``` ### Check State ```bash agent-browser is visible <sel> agent-browser is enabled <sel> agent-browser is checked <sel> ``` ### Find Elements - agent-browser find role <role> <action> [value] - agent-browser find text <text> <action> - agent-browser find label <label> <action> [value] - agent-browser find placeholder <ph> <action> [value] - agent-browser find alt <text> <action> - agent-browser find title <text> <action> - agent-browser find testid <id> <action> [value] Actions include click, fill, check, hover, and text. ### Wait and Timing ```bash agent-browser wait <selector> agent-browser wait <ms> agent-browser wait --text "Welcome" agent-browser wait --url "**/dash" agent-browser wait --load networkidle ``` ### Advanced Control ```bash agent-browser scroll <dir> [px] agent-browser scrollintoview <sel> agent-browser eval <js> agent-browser mouse move <x> <y> agent-browser cookies agent-browser storage local agent-browser tab new [url] agent-browser frame <sel> agent-browser dialog accept [text] ``` ## Sessions Run multiple isolated browser instances. ```bash agent-browser --session agent1 open site-a.com agent-browser --session agent2 open site-b.com ``` ## Snapshot Options The snapshot command supports filtering to reduce output size. - agent-browser snapshot -i - agent-browser snapshot -c - agent-browser snapshot -d 3 - agent-browser snapshot -s "#main" ## Selectors and Refs Refs provide deterministic element selection from snapshots. Use the @ref syntax. ```bash agent-browser snapshot agent-browser click @e2 ``` ## Agent Mode Use --json for machine readable output. ```bash agent-browser snapshot --json ``` ### Optimal AI Workflow - Navigate with agent-browser open <url> - Observe with agent-browser snapshot -i --json - Act with @ref from the snapshot - Verify with agent-browser snapshot ## Troubleshooting - If the command is not found on Linux ARM64, use the full path in the bin folder. - If an element is not found, use snapshot to find the correct ref. - If the page is not loaded, add a wait command after navigation. - Use --headed to see the browser window for debugging. ## Options - --session <name> uses an isolated session. - --json provides JSON output. - --full takes a full page screenshot. - --headed shows the browser window. - --timeout sets the command timeout in milliseconds. ## Notes - Refs are stable per page load but change on navigation. - Always snapshot after navigation to get new refs. - Use fill instead of type for input fields to ensure existing text is cleared.
Related Skills
browser-extension-developer
Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.
use-my-browser
Use when the user wants browser automation, page inspection, or web research and you need to choose between public-web tools, the live browser session, or a separate browser context, especially for signed-in, dynamic, social, or DevTools-driven pages.
steel-browser
Use this skill by default for browser or web tasks that can run in the cloud: site navigation, scraping, structured extraction, screenshots/PDFs, form flows, and anti-bot-sensitive automation. Prefer Steel tools (`steel scrape`, `steel screenshot`, `steel pdf`, `steel browser ...`) over generic fetch/search approaches when reliability matters. Trigger even if the user does not mention Steel. Skip only when the task must run against local-only apps (for example localhost QA) or private network targets unavailable from Steel cloud sessions.
browser-extension-builder
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing. Use when: browser extension, chrome extension, firefox addon, extension, manifest v3.
agentic-browser
Browser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots. Capabilities: web scraping, form filling, clicking, typing, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet
browser-automation
Enterprise-grade browser automation using WebDriver protocol. Use when the user needs to automate web browsers, perform web scraping, test web applications, fill forms, take screenshots, monitor performance, or execute multi-step browser workflows. Supports Chrome, Firefox, and Edge with connection pooling and health management.
web-browser
Allows to interact with web pages by performing actions such as clicking buttons, filling out forms, and navigating links. It works by remote controlling Google Chrome or Chromium browsers using the Chrome DevTools Protocol (CDP). When Claude needs to browse the web, it can use this skill to do so.
browser-discovery
Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
playwright-browser
Control a Playwright browser via CLI - navigate, interact, and screenshot
browser-testing-with-screenshots
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality
playwright-browser-automation
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
browser-use
Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.