Browser Use
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w... Skill: Browser Use Owner: shawnpana Summary: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w... Tags: latest:2.0.1 Version history: v2.0.1 | 2026-04-09T04:31:04.353Z | user - Added two new reference documents: CDP Python usage and multi-session workflows. - Clarified the distinction between headless mode, con
Rank
62
Safety
84
Downloads
42k
Updated
May 19, 2026
Version
2.0.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 42K downloads reported by the source. Last updated 5/19/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Adoption signal
- 42K downloadsadoption · observed May 19, 2026
- Vendor
- Clawhubvendor · observed May 17, 2026
- Protocol compatibility
- OpenClawcompatibility · observed May 17, 2026
- Adoption signal
- 41.7K downloadsadoption · observed May 17, 2026
- Latest release
- 2.0.1release · observed Apr 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s172739e82v8chv804xns8k9j183sqjm:browser-use- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use-2/snapshot"
Documentation
CLAWHUB
78,853 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
--- name: browser-use description: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, or extract information from web pages. allowed-tools: Bash(browser-use:*) --- # 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 ```bash browser-use doctor # Verify installation ``` For setup details, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md ## Core Workflow 1. **Navigate**: `browser-use open <url>` — launches headless browser and opens page 2. **Inspect**: `browser-use state` — returns clickable elements with indices 3. **Interact**: use indices from state (`browser-use click 5`, `browser-use input 3 "text"`) 4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm 5. **Repeat**: browser stays open between commands If a command fails, run `browser-use close` first to clear any broken session, then retry. To use the user's existing Chrome (preserves logins/cookies): run `browser-use connect` first. To use a cloud browser instead: run `browser-use cloud connect` first. After either, commands work the same way. ## Browser Modes ```bash browser-use open <url> # Default: headless Chromium (no setup needed) browser-use --headed open <url> # Visible window (for debugging) browser-use connect # Connect to user's Chrome (preserves logins/cookies) browser-use cloud connect # Cloud browser (zero-config, requires API key) browser-use --profile "Default" open <url> # Real Chrome with specific profile ``` After `connect` or `cloud connect`, all subsequent commands go to that browser — no extra flags needed. ## Commands ```bash # Navigation browser-use open <url> # Navigate to URL browser-use back # Go back in history browser-use scroll down # Scroll down (--amount N for pixels) browser-use scroll up # Scroll up browser-use tab list # List all tabs browser-use tab new [url] # Open a new tab (blank or with URL) browser-use tab switch <index> # Switch to tab by index browser-use tab close <index> [index...] # Close one or more tabs # Page State — always run state first to get element indices browser-use state # URL, title, clickable elements with indices browser-use screenshot [path.png] # Screenshot (base64 if no path, --full for full page) # Interactions — use indices from state browser-use click <index> # Click element by index browser-use click <x> <y> # Click at pixel coordinates browser-use type "t
_meta.json
{
"ownerId": "kn71fxj97n86164tdd84bymp3n7zypxq",
"slug": "browser-use",
"version": "2.0.1",
"publishedAt": 1775709064353
}references/cdp-python.md
# Raw CDP & Python Session Reference
The CLI commands handle most browser interactions. Use `browser-use python` with raw CDP when you need browser-level control the CLI doesn't expose — activating a tab so the user sees it, intercepting network requests, emulating devices, or working with Chrome target IDs directly.
## How the Python session works
`browser-use python "statement"` executes one Python statement per call. Variables persist across calls — set a value in one call, use it in the next.
A `browser` object is pre-injected with sync wrappers for common operations (`browser.goto()`, `browser.click()`, etc.). For anything beyond those, two internals give you full access:
- `browser._run(coroutine)` — run any async coroutine synchronously (60s timeout)
- `browser._session` — the raw `BrowserSession` with full CDP client access
## Getting a CDP client
```bash
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
```
After this, `cdp` persists across calls. Use `cdp.cdp_client.send.<Domain>.<method>()` for any CDP command and `cdp.session_id` for the session parameter.
## Recipes
### Activate a tab (make it visible to the user)
The CLI's `tab switch` only changes the agent's internal focus — Chrome's visible tab doesn't change. To actually show the user a specific tab:
```bash
# Get all targets to find the target ID
browser-use python "targets = browser._session.session_manager.get_all_page_targets()"
browser-use python "print([(i, t.url) for i, t in enumerate(targets)])"
# Activate target at index 1 so the user sees it
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session(target_id=None, focus=False))"
browser-use python "browser._run(cdp.cdp_client.send.Target.activateTarget(params={'targetId': targets[1].target_id}))"
```
### List all tabs with target IDs
```bash
browser-use python "targets = browser._session.session_manager.get_all_page_targets()"
browser-use python "
for i, t in enumerate(targets):
print(f'{i}: {t.target_id[:12]}... {t.url}')
"
```
### Run JavaScript and get the result
```bash
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
browser-use python "result = browser._run(cdp.cdp_client.send.Runtime.evaluate(params={'expression': 'document.title', 'returnByValue': True}, session_id=cdp.session_id))"
browser-use python "print(result['result']['value'])"
```
### Emulate a mobile device
```bash
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
browser-use python "browser._run(cdp.cdp_client.send.Emulation.setDeviceMetricsOverride(params={'width': 375, 'height': 812, 'deviceScaleFactor': 3, 'mobile': True}, session_id=cdp.session_id))"
```
### Get cookies via CDP
```bash
browser-use python "cdp = browser._run(browser._session.get_or_create_cdp_session())"
browser-use python "cookies = browser._run(cdp.cdp_client.send.Network.getCookies(params={}, session_id=cdp.session_id))"
breferences/multi-session.md
# Multiple Browser Sessions
## Why use multiple sessions
When you need more than one browser at a time:
- Cloud browser for scraping + local Chrome for authenticated tasks
- Two different Chrome profiles simultaneously
- Isolated browser for testing that won't affect the user's browsing
- Running a headed browser for debugging while headless runs in background
## How sessions are isolated
Each `--session NAME` gets:
- Its own daemon process
- Its own Unix socket (`~/.browser-use/{name}.sock`)
- Its own PID file and state file
- Its own browser instance (completely independent)
- Its own tab ownership state (multi-agent locks don't cross sessions)
## The `--session` flag
Must be passed on every command targeting that session:
```bash
browser-use --session work open <url> # goes to 'work' daemon
browser-use --session work state # reads from 'work' daemon
browser-use state # goes to 'default' daemon (different browser)
```
If you forget `--session`, the command goes to the `default` session. This is the most common mistake — you'll interact with the wrong browser.
## Combining sessions with browser modes
```bash
# Session 1: cloud browser
browser-use --session cloud cloud connect
# Session 2: connect to user's Chrome
browser-use --session chrome connect
# Session 3: headed Chromium for debugging
browser-use --session debug --headed open <url>
```
Each session is fully independent. The cloud session talks to a remote browser, the chrome session talks to the user's Chrome, and the debug session manages its own Chromium — all running simultaneously.
## Listing and managing sessions
```bash
browser-use sessions
```
Output:
```
SESSION PHASE PID CONFIG
cloud running 12345 cloud
chrome running 12346 cdp
debug ready 12347 headed
```
PHASE shows the daemon lifecycle state: `initializing`, `ready`, `starting`, `running`, `shutting_down`, `stopped`, `failed`.
```bash
browser-use --session cloud close # close one session
browser-use close --all # close every session
```
## Common patterns
**Cloud + local authenticated:**
```bash
browser-use --session scraper cloud connect
browser-use --session scraper open https://example.com
# ... scrape data ...
browser-use --session auth --profile "Default" open https://github.com
browser-use --session auth state
# ... interact with authenticated site ...
```
**Throwaway test browser:**
```bash
browser-use --session test --headed open https://localhost:3000
# ... test, debug, inspect ...
browser-use --session test close # done, clean up
```
**Environment variable:**
```bash
export BROWSER_USE_SESSION=work
browser-use open <url> # uses 'work' session without --session flag
```activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "42K downloads",
"href": "https://clawhub.ai/shawnpana/browser-use",
"sourceUrl": "https://clawhub.ai/shawnpana/browser-use",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-19T07:01:29.796Z",
"isPublic": true
},
{
"factKey": "vendor",
"label": "Vendor",
"value": "Clawhub",
"category": "vendor",
"href": "https://clawhub.ai/shawnpana/browser-use",
"sourceUrl": "https://clawhub.ai/shawnpana/browser-use",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-17T07:01:04.827Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "protocols",
"label": "Protocol compatibility",
"value": "OpenClaw",
"category": "compatibility",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use-2/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use-2/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-05-17T07:01:04.827Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "traction",
"label": "Adoption signal",
"value": "41.7K downloads",
"category": "adoption",
"href": "https://clawhub.ai/shawnpana/browser-use",
"sourceUrl": "https://clawhub.ai/shawnpana/browser-use",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-05-17T07:01:04.827Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "latest_release",
"label": "Latest release",
"value": "2.0.1",
"category": "release",
"href": "https://clawhub.ai/shawnpana/browser-use",
"sourceUrl": "https://clawhub.ai/shawnpana/browser-use",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-09T04:31:04.353Z",
"isPublic": true,
"metadata": {}
},
{
"factKey": "handshake_status",
"label": "Handshake status",
"value": "UNKNOWN",
"category": "security",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use-2/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use-2/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true,
"metadata": {}
}
],
"events": [
{
"eventType": "release",
"title": "Release 2.0.1",
"description": "- Added two new reference documents: CDP Python usage and multi-session workflows. - Clarified the distinction between headless mode, connecting to Chrome, and cloud browser usage. - Made tab management commands (`tab list`, `tab new`, `tab switch`, `tab close`) explicit in documentation. - Improved explanations for cloud connection, API key registration, and agent self-registration. - Added instructions for multi-session (parallel browser) usage. - Updated troubleshooting guidance for failed commands and session cleanup.",
"href": "https://clawhub.ai/shawnpana/browser-use",
"sourceUrl": "https://clawhub.ai/shawnpana/browser-use",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-09T04:31:04.353Z",
"isPublic": true,
"metadata": {}
}
]
}Record generated Oct 9, 2026.
