| name | browser-use |
| description | MUST load BEFORE running any browser-use command. This is the only bridge between the agent and the browser — contains all CLI syntax (open, click, hover, scroll, input, state, eval, etc.), wrapper rules, session management, and store-task restrictions. Without this skill, browser-use commands will fail or use wrong syntax. |
| allowed-tools | Bash(browser-use:*) |
Store Tasks: When running inside a store task, browser-use is wrapped
by a per-store script that auto-injects --session and --cdp-url.
The flags --profile, --cdp-url, and --connect are blocked by the
wrapper — do not use them. Use the default session for the store's seller
center, or --session <slug>-aux for non-seller-center sites.
No-store (orchestrator) Tasks: browser-use is wrapped by the store-less
web browser script (bin/_web). Use it only for neutral public web work
(search, tracking/logistics, research) — NEVER for a store's seller center or
to log into store/platform accounts (create a store sub-task for those). The
same flags are blocked here.
These flags only work in the workspace assistant (raw browser-use, no wrapper).
Browser Automation with browser-use CLI
The browser-use command provides fast, persistent browser automation. A background daemon keeps the browser open across commands, giving ~50ms latency per call.
Prerequisites
browser-use doctor
For setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md
Core Workflow
- Navigate:
browser-use open <url> — starts browser if needed
- Inspect:
browser-use state — returns clickable elements with indices
- Interact: use indices from state (
browser-use click 5, browser-use input 3 "text")
- Verify:
browser-use state or browser-use screenshot to confirm
- Repeat: browser stays open between commands
- Cleanup:
browser-use close when done
Browser Modes
browser-use open <url>
browser-use --headed open <url>
browser-use --session <name> open <url>
Store tasks only: --profile, --cdp-url, and --connect are blocked
by the store wrapper. The wrapper auto-injects the correct session and CDP
URL. Use --session <slug>-aux for non-seller-center browsing.
Commands
browser-use open <url>
browser-use back
browser-use scroll down
browser-use scroll up
browser-use switch <tab>
browser-use close-tab [tab]
browser-use state
browser-use screenshot [path.png]
browser-use click <index>
browser-use click <x> <y>
browser-use type "text"
browser-use input <index> "text"
browser-use keys "Enter"
browser-use select <index> "option"
browser-use upload <index> <path>
browser-use hover <index>
browser-use dblclick <index>
browser-use rightclick <index>
browser-use eval "js code"
browser-use get title
browser-use get html [--selector "h1"]
browser-use get text <index>
browser-use get value <index>
browser-use get attributes <index>
browser-use get bbox <index>
browser-use wait selector "css"
browser-use wait text "text"
browser-use cookies get [--url <url>]
browser-use cookies set <name> <value>
browser-use cookies clear [--url <url>]
browser-use cookies export <file>
browser-use cookies import <file>
browser-use python "code"
browser-use python --file script.py
browser-use python --vars
browser-use python --reset
browser-use close
browser-use sessions
browser-use close --all
The Python browser object provides: browser.url, browser.title, browser.html, browser.goto(url), browser.back(), browser.click(index), browser.type(text), browser.input(index, text), browser.keys(keys), browser.upload(index, path), browser.screenshot(path), browser.scroll(direction, amount), browser.wait(seconds).
Cloud API
browser-use cloud connect
browser-use cloud connect --timeout 120 --proxy-country US
browser-use cloud login <api-key>
browser-use cloud logout
browser-use cloud v2 GET /browsers
browser-use cloud v2 POST /tasks '{"task":"...","url":"..."}'
browser-use cloud v2 poll <task-id>
browser-use cloud v2 --help
cloud connect provisions a cloud browser, connects via CDP, and prints a live URL. browser-use close disconnects AND stops the cloud browser.
Tunnels
browser-use tunnel <port>
browser-use tunnel list
browser-use tunnel stop <port>
browser-use tunnel stop --all
Profile Management
browser-use profile list
browser-use profile sync --all
browser-use profile update
Command Chaining
Commands can be chained with &&. The browser persists via the daemon, so chaining is safe and efficient.
browser-use open https://example.com && browser-use state
browser-use input 5 "user@example.com" && browser-use input 6 "password" && browser-use click 7
Chain when you don't need intermediate output. Run separately when you need to parse state to discover indices first.
Common Workflows
Exposing Local Dev Servers
browser-use tunnel 3000
browser-use open https://abc.trycloudflare.com
Global Options
| Option | Description |
|---|
--headed | Show browser window |
--session NAME | Target a named session (default: "default") |
--json | Output as JSON |
--profile [NAME] | Use real Chrome profile (blocked in store tasks) |
--connect | Auto-discover running Chrome (blocked in store tasks) |
--cdp-url <url> | Connect via CDP URL (blocked in store tasks) |
--mcp | Run as MCP server (blocked in store tasks) |
Tips
- Always run
state first to see available elements and their indices
- Use
--headed for debugging to see what the browser is doing
- Sessions persist — browser stays open between commands
- CLI aliases:
bu, browser, and browseruse all work
Troubleshooting
- Browser won't start?
browser-use close then browser-use --headed open <url>
- Element not found?
browser-use scroll down then browser-use state
- Run diagnostics:
browser-use doctor
Cleanup
browser-use close
browser-use tunnel stop --all