| name | browser-use |
| version | 1.1.0 |
| description | Automate browser interactions — navigation, clicking, typing, screenshots, JavaScript execution, and cloud browser management — using the browser-use CLI. |
| allowed-tools | Browser(browser-use:*), Shell |
Browser Use CLI Skill
Fast, persistent browser automation from the command line via the browser-use CLI.
Installation
curl -fsSL https://browser-use.com/cli/install.sh | bash
browser-use doctor
browser-use setup
Core Workflow
- Navigate to a page with
open
- Run
state to see numbered element indices
- Interact using those indices
browser-use open https://example.com
browser-use state
browser-use input 0 "John Doe"
browser-use click 1
Browser Modes
browser-use --headed open https://example.com
browser-use open https://example.com
browser-use --profile "Default" open https://gmail.com
browser-use --profile "Profile 1" open https://example.com
browser-use --connect open https://example.com
browser-use --cdp-url http://localhost:9222 open https://example.com
Command Reference
Navigation
| Command | Description |
|---|
open <url> | Navigate to URL |
back | Go back in history |
scroll down | Scroll down |
scroll up | Scroll up |
scroll down --amount 1000 | Scroll by pixels |
Inspection
| Command | Description |
|---|
state | Get URL, title, and clickable elements |
screenshot [path] | Take screenshot (base64 if no path) |
screenshot --full path.png | Full page screenshot |
Interaction
| Command | Description |
|---|
click <index> | Click element by index |
click <x> <y> | Click at pixel coordinates |
type "text" | Type into focused element |
input <index> "text" | Click element, then type |
keys "Enter" | Send keyboard keys |
keys "Control+a" | Send key combination |
select <index> "value" | Select dropdown option |
upload <index> <path> | Upload file to file input |
hover <index> | Hover over element |
dblclick <index> | Double-click element |
rightclick <index> | Right-click element |
Information Retrieval
| Command | Description |
|---|
get title | Get page title |
get html | Get full page HTML |
get html --selector "h1" | Get HTML of element |
get text <index> | Get text content of element |
get value <index> | Get value of input/textarea |
get attributes <index> | Get all attributes of element |
get bbox <index> | Get bounding box (x, y, width, height) |
Wait
| Command | Description |
|---|
wait selector "css" | Wait for element to be visible |
wait selector ".loading" --state hidden | Wait for element to disappear |
wait text "Success" | Wait for text to appear |
wait selector "h1" --timeout 5000 | Custom timeout (ms) |
JavaScript & Data
| Command | Description |
|---|
eval "js code" | Execute JavaScript |
Tabs
| Command | Description |
|---|
switch <tab> | Switch to tab by index |
close-tab | Close current tab |
close-tab <tab> | Close specific tab |
Cookies
| Command | Description |
|---|
cookies get | Get all cookies |
cookies set <name> <value> | Set a cookie |
cookies clear | Clear all cookies |
cookies export <file> | Export to JSON file |
cookies import <file> | Import from JSON file |
Python Automation (Persistent Session)
browser-use python "x = 42"
browser-use python "print(x)"
browser-use python "print(browser.url)"
browser-use python --vars
browser-use python --reset
browser-use python --file script.py
Sessions
Each --session gets its own daemon, socket, and PID file. The browser stays alive between commands (~50ms latency).
browser-use open https://example.com
browser-use --session work open https://example.com
browser-use --session work state
browser-use sessions
browser-use --session work close
browser-use close --all
Cloud API
browser-use cloud login sk-abc123...
browser-use cloud connect
browser-use cloud connect --proxy-country US
browser-use cloud connect --profile-id <id>
browser-use state
browser-use close
browser-use cloud v2 GET /browsers
browser-use cloud v2 POST /tasks '{"task":"Search for AI news","url":"https://google.com"}'
browser-use cloud v2 poll <task-id>
browser-use cloud v3 --help
Tunnels (Expose Local Dev Servers)
npm run dev &
browser-use tunnel 3000
browser-use cloud connect
browser-use open https://abc.trycloudflare.com
browser-use tunnel list
browser-use tunnel stop 3000
Global Options
| Option | Description |
|---|
--headed | Show browser window |
--profile [NAME] | Use real Chrome profile |
--connect | Auto-discover running Chrome via CDP |
--cdp-url <url> | Connect to existing browser via CDP URL |
--session NAME | Target a named session (default: "default") |
--json | Output as JSON |
--mcp | Run as MCP server via stdin/stdout |
Common Patterns
Scrape data with JavaScript
browser-use open https://news.ycombinator.com
browser-use eval "Array.from(document.querySelectorAll('.titleline a')).slice(0,5).map(a => a.textContent)"
Fill and submit a form
browser-use open https://example.com/contact
browser-use state
browser-use input 0 "John Doe"
browser-use input 1 "john@example.com"
browser-use click 2
Scroll and screenshot
browser-use open https://example.com
browser-use python "
for i in range(5):
browser.scroll('down')
browser.wait(0.5)
browser.screenshot('scrolled.png')
"