| name | agent-browser |
| description | Automate browser interactions using agent-browser CLI. Use for taking screenshots, testing deployed sites, checking mobile views, form testing, or browser automation tasks. |
| allowed-tools | Bash, Read |
| user-invocable | true |
agent-browser
Automate browser interactions for testing, screenshots, and web scraping using the agent-browser CLI tool from Vercel Labs.
Installation
npm install -g agent-browser
agent-browser install
Core Workflow (AI-Optimized)
The recommended pattern uses reference-based selection:
agent-browser open "https://example.com"
agent-browser snapshot -i
agent-browser click @e2
agent-browser fill @e3 "text"
Commands Reference
Navigation
agent-browser open <url>
agent-browser back
agent-browser forward
agent-browser reload
Snapshot (Get Element Refs)
agent-browser snapshot
agent-browser snapshot -i
agent-browser snapshot -c
agent-browser snapshot -d 3
agent-browser snapshot --json
Interaction
agent-browser click @e1
agent-browser click "#submit"
agent-browser dblclick @e1
agent-browser fill @e3 "text"
agent-browser type @e3 "text"
agent-browser hover @e1
agent-browser focus @e1
agent-browser check @e1
agent-browser uncheck @e1
agent-browser select @e1 "value"
agent-browser drag @e1 @e2
agent-browser upload @e1 file.pdf
Keyboard
agent-browser press Enter
agent-browser press Control+a
Scrolling
agent-browser scroll down 500
agent-browser scroll up 500
agent-browser scrollintoview @e1
Screenshots & PDF
agent-browser screenshot /tmp/shot.png
agent-browser screenshot --full /tmp/full.png
agent-browser pdf /tmp/page.pdf
Get Information
agent-browser get text @e1
agent-browser get html @e1
agent-browser get value @e1
agent-browser get attr href @e1
agent-browser get title
agent-browser get url
Check State
agent-browser is visible @e1
agent-browser is enabled @e1
agent-browser is checked @e1
Find Elements (Semantic)
agent-browser find role button click --name "Submit"
agent-browser find text "Click me" click
agent-browser find label "Email" fill "user@test.com"
agent-browser find placeholder "Search..." type "query"
Wait
agent-browser wait @e1
agent-browser wait 3000
Browser Settings
agent-browser set viewport 1920 1080
agent-browser set device "iPhone 14"
agent-browser set media dark
agent-browser set media reduced-motion
agent-browser set offline on
agent-browser set headers '{"Auth": "Bearer token"}'
Session Management
agent-browser open url --session mytest
agent-browser click @e1 --session mytest
agent-browser close --session mytest
Debug
agent-browser console
agent-browser errors
agent-browser highlight @e1
agent-browser --headed open url
Workflow Examples
Mobile Screenshot
agent-browser open "https://mysite.com" --session mobile
agent-browser set device "iPhone 14" --session mobile
sleep 2
agent-browser screenshot /tmp/mobile.png --session mobile
agent-browser close --session mobile
Form Testing
agent-browser open "https://mysite.com/login" --session test
agent-browser snapshot -i --session test
agent-browser fill @e1 "user@example.com" --session test
agent-browser fill @e2 "password123" --session test
agent-browser click @e3 --session test
agent-browser screenshot /tmp/after-login.png --session test
Full Page Scroll Test
agent-browser open "https://mysite.com" --session scroll
sleep 2
agent-browser scroll down 1000 --session scroll
sleep 1
agent-browser screenshot /tmp/scrolled.png --session scroll
Available Devices
- iPhone 14 / iPhone 14 Pro Max
- iPad Pro
- Pixel 7
- Galaxy S23
Requirements
- Node.js 18+
- Chromium (auto-installed via
agent-browser install)
Notes
- Screenshots are saved as PNG by default
- Default viewport is desktop (1280x720)
- Browser runs in headless mode by default (use
--headed to show)
- Sessions are isolated (separate cookies, storage, history)
- Use
--json flag for machine-readable output
- Refs (@e1, @e2) are deterministic within a page state