{"id":"3350aac9-41f7-4772-9b78-438a86dc56d9","entityType":"agent","slug":"clawhub-shawnpana-browser-use","name":"Browser Use","canonicalUrl":"https://www.xpersona.co/agent/clawhub-shawnpana-browser-use","canonicalPath":"/agent/clawhub-shawnpana-browser-use","generatedAt":"2026-10-09T14:01:22.527Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"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:1.0.2 Version history: v1.0.2 | 2026-02-19T04:53:32.023Z | user - Documentation reworked and simplified for clarity and easier reference. - Audience broadened: Skill now addresses general browser autom","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 16K downloads reported by the source. Last updated 4/15/2026.","installCommand":"clawhub skill install kn71fxj97n86164tdd84bymp3n7zypxq:browser-use","sourceUrl":"https://clawhub.ai/ShawnPana/browser-use","homepage":"https://clawhub.ai/ShawnPana/browser-use","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/ShawnPana/browser-use","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":78,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No protocol or capability metadata is available."},"protocols":[],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":0,"capabilityMatrix":{"rows":[],"flattenedTokens":""}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"stars":null,"forks":null,"downloads":16021,"packageName":null,"latestVersion":"1.0.2","tractionLabel":"16K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-02-28T16:52:01.154Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-28T16:52:01.154Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-01T16:52:01.154Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.2","createdAt":"2026-02-19T04:53:32.023Z","changelog":"- Documentation reworked and simplified for clarity and easier reference. - Audience broadened: Skill now addresses general browser automation, not just sandboxed/cloud use. - Install modes, tunnel setup, and environment variable explanations are removed for a more concise guide. - New dedicated sections for browser modes, session management, essential commands, and Python execution. - Updated and better-organized CLI command reference. - Usage examples and options for real/Chromium/cloud browsers are clarified with practical guidance. - For full advanced setup details, directs users to the official README.","fileCount":2,"zipByteSize":7064},{"version":"1.0.1","createdAt":"2026-02-17T07:53:25.181Z","changelog":"**Changelog for browser-use v1.0.1** - Updated documentation to focus on running browser-use from sandboxed, remote environments (cloud VMs, CI, remote coding agents). - Added instructions for remote-only install, removing the need to download Chromium locally. - Clarified usage of cloud browser as the default in remote-only mode; `browser-use open <url>` uses remote session automatically. - Expanded and reorganized CLI command documentation, including navigation, interaction, state, tunneling, and Python session usage. - Provided step-by-step guidance for exposing remote dev servers via Cloudflare tunnels. - Added comprehensive command references for tab management, cookies, waits, and agent tasks. - Emphasized remote/sandbox mode as core for agents with no GUI access.","fileCount":2,"zipByteSize":7623},{"version":"1.0.0","createdAt":"2026-01-26T00:43:51.012Z","changelog":"Initial release of browser-use skill for Clawdbot: - Adds integration with Browser Use cloud API to create and manage remote browser sessions, supporting persisted cookies and profiles. - Enables autonomous browser tasks via a subagent using a fast, browser-optimized LLM. - Provides simple setup and usage instructions, including API key configuration and pricing details. - Includes documentation links and cURL request examples for sessions, profiles, and task automation.","fileCount":null,"zipByteSize":null}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install kn71fxj97n86164tdd84bymp3n7zypxq:browser-use","setupComplexity":"low","setupSteps":["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":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":[]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T14:01:22.526Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-shawnpana-browser-use/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"Skill: Browser Use\n\nOwner: ShawnPana\n\nSummary: Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...\n\nTags: latest:1.0.2\n\nVersion history:\n\nv1.0.2 | 2026-02-19T04:53:32.023Z | user\n\n- Documentation reworked and simplified for clarity and easier reference.\n- Audience broadened: Skill now addresses general browser automation, not just sandboxed/cloud use.\n- Install modes, tunnel setup, and environment variable explanations are removed for a more concise guide.\n- New dedicated sections for browser modes, session management, essential commands, and Python execution.\n- Updated and better-organized CLI command reference.\n- Usage examples and options for real/Chromium/cloud browsers are clarified with practical guidance.\n- For full advanced setup details, directs users to the official README.\n\nv1.0.1 | 2026-02-17T07:53:25.181Z | user\n\n**Changelog for browser-use v1.0.1**\n\n- Updated documentation to focus on running browser-use from sandboxed, remote environments (cloud VMs, CI, remote coding agents).\n- Added instructions for remote-only install, removing the need to download Chromium locally.\n- Clarified usage of cloud browser as the default in remote-only mode; `browser-use open <url>` uses remote session automatically.\n- Expanded and reorganized CLI command documentation, including navigation, interaction, state, tunneling, and Python session usage.\n- Provided step-by-step guidance for exposing remote dev servers via Cloudflare tunnels.\n- Added comprehensive command references for tab management, cookies, waits, and agent tasks.\n- Emphasized remote/sandbox mode as core for agents with no GUI access.\n\nv1.0.0 | 2026-01-26T00:43:51.012Z | user\n\nInitial release of browser-use skill for Clawdbot:\n\n- Adds integration with Browser Use cloud API to create and manage remote browser sessions, supporting persisted cookies and profiles.\n- Enables autonomous browser tasks via a subagent using a fast, browser-optimized LLM.\n- Provides simple setup and usage instructions, including API key configuration and pricing details.\n- Includes documentation links and cURL request examples for sessions, profiles, and task automation.\n\nArchive index:\n\nArchive v1.0.2: 2 files, 7064 bytes\n\nFiles: SKILL.md (22226b), _meta.json (130b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: browser-use\ndescription: 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.\nallowed-tools: Bash(browser-use:*)\n---\n\n# Browser Automation with browser-use CLI\n\nThe `browser-use` command provides fast, persistent browser automation. It maintains browser sessions across commands, enabling complex multi-step workflows.\n\n## Prerequisites\n\nBefore using this skill, `browser-use` must be installed and configured. Run diagnostics to verify:\n\n```bash\nbrowser-use doctor\n```\n\nFor more information, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md\n\n## Core Workflow\n\n1. **Navigate**: `browser-use open <url>` - Opens URL (starts browser if needed)\n2. **Inspect**: `browser-use state` - Returns clickable elements with indices\n3. **Interact**: Use indices from state to interact (`browser-use click 5`, `browser-use input 3 \"text\"`)\n4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm actions\n5. **Repeat**: Browser stays open between commands\n\n## Browser Modes\n\n```bash\nbrowser-use --browser chromium open <url>      # Default: headless Chromium\nbrowser-use --browser chromium --headed open <url>  # Visible Chromium window\nbrowser-use --browser real open <url>          # Real Chrome (no profile = fresh)\nbrowser-use --browser real --profile \"Default\" open <url>  # Real Chrome with your login sessions\nbrowser-use --browser remote open <url>        # Cloud browser\n```\n\n- **chromium**: Fast, isolated, headless by default\n- **real**: Uses a real Chrome binary. Without `--profile`, uses a persistent but empty CLI profile at `~/.config/browseruse/profiles/cli/`. With `--profile \"ProfileName\"`, copies your actual Chrome profile (cookies, logins, extensions)\n- **remote**: Cloud-hosted browser with proxy support\n\n## Essential Commands\n\n```bash\n# Navigation\nbrowser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back\nbrowser-use scroll down                   # Scroll down (--amount N for pixels)\n\n# Page State (always run state first to get element indices)\nbrowser-use state                         # Get URL, title, clickable elements\nbrowser-use screenshot                    # Take screenshot (base64)\nbrowser-use screenshot path.png           # Save screenshot to file\n\n# Interactions (use indices from state)\nbrowser-use click <index>                 # Click element\nbrowser-use type \"text\"                   # Type into focused element\nbrowser-use input <index> \"text\"          # Click element, then type\nbrowser-use keys \"Enter\"                  # Send keyboard keys\nbrowser-use select <index> \"option\"       # Select dropdown option\n\n# Data Extraction\nbrowser-use eval \"document.title\"         # Execute JavaScript\nbrowser-use get text <index>              # Get element text\nbrowser-use get html --selector \"h1\"      # Get scoped HTML\n\n# Wait\nbrowser-use wait selector \"h1\"            # Wait for element\nbrowser-use wait text \"Success\"           # Wait for text\n\n# Session\nbrowser-use sessions                      # List active sessions\nbrowser-use close                         # Close current session\nbrowser-use close --all                   # Close all sessions\n\n# AI Agent\nbrowser-use -b remote run \"task\"          # Run agent in cloud (async by default)\nbrowser-use task status <id>              # Check cloud task progress\n```\n\n## Commands\n\n### Navigation & Tabs\n```bash\nbrowser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back in history\nbrowser-use scroll down                   # Scroll down\nbrowser-use scroll up                     # Scroll up\nbrowser-use scroll down --amount 1000     # Scroll by specific pixels (default: 500)\nbrowser-use switch <tab>                  # Switch to tab by index\nbrowser-use close-tab                     # Close current tab\nbrowser-use close-tab <tab>              # Close specific tab\n```\n\n### Page State\n```bash\nbrowser-use state                         # Get URL, title, and clickable elements\nbrowser-use screenshot                    # Take screenshot (outputs base64)\nbrowser-use screenshot path.png           # Save screenshot to file\nbrowser-use screenshot --full path.png    # Full page screenshot\n```\n\n### Interactions\n```bash\nbrowser-use click <index>                 # Click element\nbrowser-use type \"text\"                   # Type text into focused element\nbrowser-use input <index> \"text\"          # Click element, then type text\nbrowser-use keys \"Enter\"                  # Send keyboard keys\nbrowser-use keys \"Control+a\"              # Send key combination\nbrowser-use select <index> \"option\"       # Select dropdown option\nbrowser-use hover <index>                 # Hover over element (triggers CSS :hover)\nbrowser-use dblclick <index>              # Double-click element\nbrowser-use rightclick <index>            # Right-click element (context menu)\n```\n\nUse indices from `browser-use state`.\n\n### JavaScript & Data\n```bash\nbrowser-use eval \"document.title\"         # Execute JavaScript, return result\nbrowser-use get title                     # Get page title\nbrowser-use get html                      # Get full page HTML\nbrowser-use get html --selector \"h1\"      # Get HTML of specific element\nbrowser-use get text <index>              # Get text content of element\nbrowser-use get value <index>             # Get value of input/textarea\nbrowser-use get attributes <index>        # Get all attributes of element\nbrowser-use get bbox <index>              # Get bounding box (x, y, width, height)\n```\n\n### Cookies\n```bash\nbrowser-use cookies get                   # Get all cookies\nbrowser-use cookies get --url <url>       # Get cookies for specific URL\nbrowser-use cookies set <name> <value>    # Set a cookie\nbrowser-use cookies set name val --domain .example.com --secure --http-only\nbrowser-use cookies set name val --same-site Strict  # SameSite: Strict, Lax, or None\nbrowser-use cookies set name val --expires 1735689600  # Expiration timestamp\nbrowser-use cookies clear                 # Clear all cookies\nbrowser-use cookies clear --url <url>     # Clear cookies for specific URL\nbrowser-use cookies export <file>         # Export all cookies to JSON file\nbrowser-use cookies export <file> --url <url>  # Export cookies for specific URL\nbrowser-use cookies import <file>         # Import cookies from JSON file\n```\n\n### Wait Conditions\n```bash\nbrowser-use wait selector \"h1\"            # Wait for element to be visible\nbrowser-use wait selector \".loading\" --state hidden  # Wait for element to disappear\nbrowser-use wait selector \"#btn\" --state attached    # Wait for element in DOM\nbrowser-use wait text \"Success\"           # Wait for text to appear\nbrowser-use wait selector \"h1\" --timeout 5000  # Custom timeout in ms\n```\n\n### Python Execution\n```bash\nbrowser-use python \"x = 42\"               # Set variable\nbrowser-use python \"print(x)\"             # Access variable (outputs: 42)\nbrowser-use python \"print(browser.url)\"   # Access browser object\nbrowser-use python --vars                 # Show defined variables\nbrowser-use python --reset                # Clear Python namespace\nbrowser-use python --file script.py       # Execute Python file\n```\n\nThe Python session maintains state across commands. The `browser` object provides:\n- `browser.url`, `browser.title`, `browser.html` — page info\n- `browser.goto(url)`, `browser.back()` — navigation\n- `browser.click(index)`, `browser.type(text)`, `browser.input(index, text)`, `browser.keys(keys)` — interactions\n- `browser.screenshot(path)`, `browser.scroll(direction, amount)` — visual\n- `browser.wait(seconds)`, `browser.extract(query)` — utilities\n\n### Agent Tasks\n\n#### Remote Mode Options\n\nWhen using `--browser remote`, additional options are available:\n\n```bash\n# Specify LLM model\nbrowser-use -b remote run \"task\" --llm gpt-4o\nbrowser-use -b remote run \"task\" --llm claude-sonnet-4-20250514\n\n# Proxy configuration (default: us)\nbrowser-use -b remote run \"task\" --proxy-country uk\n\n# Session reuse\nbrowser-use -b remote run \"task 1\" --keep-alive        # Keep session alive after task\nbrowser-use -b remote run \"task 2\" --session-id abc-123 # Reuse existing session\n\n# Execution modes\nbrowser-use -b remote run \"task\" --flash       # Fast execution mode\nbrowser-use -b remote run \"task\" --wait        # Wait for completion (default: async)\n\n# Advanced options\nbrowser-use -b remote run \"task\" --thinking    # Extended reasoning mode\nbrowser-use -b remote run \"task\" --no-vision   # Disable vision (enabled by default)\n\n# Using a cloud profile (create session first, then run with --session-id)\nbrowser-use session create --profile <cloud-profile-id> --keep-alive\n# → returns session_id\nbrowser-use -b remote run \"task\" --session-id <session-id>\n\n# Task configuration\nbrowser-use -b remote run \"task\" --start-url https://example.com  # Start from specific URL\nbrowser-use -b remote run \"task\" --allowed-domain example.com     # Restrict navigation (repeatable)\nbrowser-use -b remote run \"task\" --metadata key=value             # Task metadata (repeatable)\nbrowser-use -b remote run \"task\" --skill-id skill-123             # Enable skills (repeatable)\nbrowser-use -b remote run \"task\" --secret key=value               # Secret metadata (repeatable)\n\n# Structured output and evaluation\nbrowser-use -b remote run \"task\" --structured-output '{\"type\":\"object\"}'  # JSON schema for output\nbrowser-use -b remote run \"task\" --judge                 # Enable judge mode\nbrowser-use -b remote run \"task\" --judge-ground-truth \"expected answer\"\n```\n\n### Task Management\n```bash\nbrowser-use task list                     # List recent tasks\nbrowser-use task list --limit 20          # Show more tasks\nbrowser-use task list --status finished   # Filter by status (finished, stopped)\nbrowser-use task list --session <id>      # Filter by session ID\nbrowser-use task list --json              # JSON output\n\nbrowser-use task status <task-id>         # Get task status (latest step only)\nbrowser-use task status <task-id> -c      # All steps with reasoning\nbrowser-use task status <task-id> -v      # All steps with URLs + actions\nbrowser-use task status <task-id> --last 5  # Last N steps only\nbrowser-use task status <task-id> --step 3  # Specific step number\nbrowser-use task status <task-id> --reverse # Newest first\n\nbrowser-use task stop <task-id>           # Stop a running task\nbrowser-use task logs <task-id>           # Get task execution logs\n```\n\n### Cloud Session Management\n```bash\nbrowser-use session list                  # List cloud sessions\nbrowser-use session list --limit 20       # Show more sessions\nbrowser-use session list --status active  # Filter by status\nbrowser-use session list --json           # JSON output\n\nbrowser-use session get <session-id>      # Get session details + live URL\nbrowser-use session get <session-id> --json\n\nbrowser-use session stop <session-id>     # Stop a session\nbrowser-use session stop --all            # Stop all active sessions\n\nbrowser-use session create                          # Create with defaults\nbrowser-use session create --profile <id>           # With cloud profile\nbrowser-use session create --proxy-country uk       # With geographic proxy\nbrowser-use session create --start-url https://example.com\nbrowser-use session create --screen-size 1920x1080\nbrowser-use session create --keep-alive\nbrowser-use session create --persist-memory\n\nbrowser-use session share <session-id>              # Create public share URL\nbrowser-use session share <session-id> --delete     # Delete public share\n```\n\n### Tunnels\n```bash\nbrowser-use tunnel <port>           # Start tunnel (returns URL)\nbrowser-use tunnel <port>           # Idempotent - returns existing URL\nbrowser-use tunnel list             # Show active tunnels\nbrowser-use tunnel stop <port>      # Stop tunnel\nbrowser-use tunnel stop --all       # Stop all tunnels\n```\n\n### Session Management\n```bash\nbrowser-use sessions                      # List active sessions\nbrowser-use close                         # Close current session\nbrowser-use close --all                   # Close all sessions\n```\n\n### Profile Management\n\n#### Local Chrome Profiles (`--browser real`)\n```bash\nbrowser-use -b real profile list          # List local Chrome profiles\nbrowser-use -b real profile cookies \"Default\"  # Show cookie domains in profile\n```\n\n#### Cloud Profiles (`--browser remote`)\n```bash\nbrowser-use -b remote profile list            # List cloud profiles\nbrowser-use -b remote profile list --page 2 --page-size 50\nbrowser-use -b remote profile get <id>        # Get profile details\nbrowser-use -b remote profile create          # Create new cloud profile\nbrowser-use -b remote profile create --name \"My Profile\"\nbrowser-use -b remote profile update <id> --name \"New\"\nbrowser-use -b remote profile delete <id>\n```\n\n#### Syncing\n```bash\nbrowser-use profile sync --from \"Default\" --domain github.com  # Domain-specific\nbrowser-use profile sync --from \"Default\"                      # Full profile\nbrowser-use profile sync --from \"Default\" --name \"Custom Name\" # With custom name\n```\n\n### Server Control\n```bash\nbrowser-use server logs                   # View server logs\n```\n\n## Common Workflows\n\n### Exposing Local Dev Servers\n\nUse when you have a local dev server and need a cloud browser to reach it.\n\n**Core workflow:** Start dev server → create tunnel → browse the tunnel URL remotely.\n\n```bash\n# 1. Start your dev server\nnpm run dev &  # localhost:3000\n\n# 2. Expose it via Cloudflare tunnel\nbrowser-use tunnel 3000\n# → url: https://abc.trycloudflare.com\n\n# 3. Now the cloud browser can reach your local server\nbrowser-use --browser remote open https://abc.trycloudflare.com\nbrowser-use state\nbrowser-use screenshot\n```\n\n**Note:** Tunnels are independent of browser sessions. They persist across `browser-use close` and can be managed separately. Cloudflared must be installed — run `browser-use doctor` to check.\n\n### Authenticated Browsing with Profiles\n\nUse when a task requires browsing a site the user is already logged into (e.g. Gmail, GitHub, internal tools).\n\n**Core workflow:** Check existing profiles → ask user which profile and browser mode → browse with that profile. Only sync cookies if no suitable profile exists.\n\n**Before browsing an authenticated site, the agent MUST:**\n1. Ask the user whether to use **real** (local Chrome) or **remote** (cloud) browser\n2. List available profiles for that mode\n3. Ask which profile to use\n4. If no profile has the right cookies, offer to sync (see below)\n\n#### Step 1: Check existing profiles\n\n```bash\n# Option A: Local Chrome profiles (--browser real)\nbrowser-use -b real profile list\n# → Default: Person 1 (user@gmail.com)\n# → Profile 1: Work (work@company.com)\n\n# Option B: Cloud profiles (--browser remote)\nbrowser-use -b remote profile list\n# → abc-123: \"Chrome - Default (github.com)\"\n# → def-456: \"Work profile\"\n```\n\n#### Step 2: Browse with the chosen profile\n\n```bash\n# Real browser — uses local Chrome with existing login sessions\nbrowser-use --browser real --profile \"Default\" open https://github.com\n\n# Cloud browser — uses cloud profile with synced cookies\nbrowser-use --browser remote --profile abc-123 open https://github.com\n```\n\nThe user is already authenticated — no login needed.\n\n**Note:** Cloud profile cookies can expire over time. If authentication fails, re-sync cookies from the local Chrome profile.\n\n#### Step 3: Syncing cookies (only if needed)\n\nIf the user wants to use a cloud browser but no cloud profile has the right cookies, sync them from a local Chrome profile.\n\n**Before syncing, the agent MUST:**\n1. Ask which local Chrome profile to use\n2. Ask which domain(s) to sync — do NOT default to syncing the full profile\n3. Confirm before proceeding\n\n**Check what cookies a local profile has:**\n```bash\nbrowser-use -b real profile cookies \"Default\"\n# → youtube.com: 23\n# → google.com: 18\n# → github.com: 2\n```\n\n**Domain-specific sync (recommended):**\n```bash\nbrowser-use profile sync --from \"Default\" --domain github.com\n# Creates new cloud profile: \"Chrome - Default (github.com)\"\n# Only syncs github.com cookies\n```\n\n**Full profile sync (use with caution):**\n```bash\nbrowser-use profile sync --from \"Default\"\n# Syncs ALL cookies — includes sensitive data, tracking cookies, every session token\n```\nOnly use when the user explicitly needs their entire browser state.\n\n**Fine-grained control (advanced):**\n```bash\n# Export cookies to file, manually edit, then import\nbrowser-use --browser real --profile \"Default\" cookies export /tmp/cookies.json\nbrowser-use --browser remote --profile <id> cookies import /tmp/cookies.json\n```\n\n**Use the synced profile:**\n```bash\nbrowser-use --browser remote --profile <id> open https://github.com\n```\n\n### Running Subagents\n\nUse cloud sessions to run autonomous browser agents in parallel.\n\n**Core workflow:** Launch task(s) with `run` → poll with `task status` → collect results → clean up sessions.\n\n- **Session = Agent**: Each cloud session is a browser agent with its own state\n- **Task = Work**: Jobs given to an agent; an agent can run multiple tasks sequentially\n- **Session lifecycle**: Once stopped, a session cannot be revived — start a new one\n\n#### Launching Tasks\n\n```bash\n# Single task (async by default — returns immediately)\nbrowser-use -b remote run \"Search for AI news and summarize top 3 articles\"\n# → task_id: task-abc, session_id: sess-123\n\n# Parallel tasks — each gets its own session\nbrowser-use -b remote run \"Research competitor A pricing\"\n# → task_id: task-1, session_id: sess-a\nbrowser-use -b remote run \"Research competitor B pricing\"\n# → task_id: task-2, session_id: sess-b\nbrowser-use -b remote run \"Research competitor C pricing\"\n# → task_id: task-3, session_id: sess-c\n\n# Sequential tasks in same session (reuses cookies, login state, etc.)\nbrowser-use -b remote run \"Log into example.com\" --keep-alive\n# → task_id: task-1, session_id: sess-123\nbrowser-use task status task-1  # Wait for completion\nbrowser-use -b remote run \"Export settings\" --session-id sess-123\n# → task_id: task-2, session_id: sess-123 (same session)\n```\n\n#### Managing & Stopping\n\n```bash\nbrowser-use task list --status finished      # See completed tasks\nbrowser-use task stop task-abc               # Stop a task (session may continue if --keep-alive)\nbrowser-use session stop sess-123            # Stop an entire session (terminates its tasks)\nbrowser-use session stop --all               # Stop all sessions\n```\n\n#### Monitoring\n\n**Task status is designed for token efficiency.** Default output is minimal — only expand when needed:\n\n| Mode | Flag | Tokens | Use When |\n|------|------|--------|----------|\n| Default | (none) | Low | Polling progress |\n| Compact | `-c` | Medium | Need full reasoning |\n| Verbose | `-v` | High | Debugging actions |\n\n```bash\n# For long tasks (50+ steps)\nbrowser-use task status <id> -c --last 5   # Last 5 steps only\nbrowser-use task status <id> -v --step 10  # Inspect specific step\n```\n\n**Live view**: `browser-use session get <session-id>` returns a live URL to watch the agent.\n\n**Detect stuck tasks**: If cost/duration in `task status` stops increasing, the task is stuck — stop it and start a new agent.\n\n**Logs**: `browser-use task logs <task-id>` — only available after task completes.\n\n## Global Options\n\n| Option | Description |\n|--------|-------------|\n| `--session NAME` | Use named session (default: \"default\") |\n| `--browser MODE` | Browser mode: chromium, real, remote |\n| `--headed` | Show browser window (chromium mode) |\n| `--profile NAME` | Browser profile (local name or cloud ID). Works with `open`, `session create`, etc. — does NOT work with `run` (use `--session-id` instead) |\n| `--json` | Output as JSON |\n| `--mcp` | Run as MCP server via stdin/stdout |\n\n**Session behavior**: All commands without `--session` use the same \"default\" session. The browser stays open and is reused across commands. Use `--session NAME` to run multiple browsers in parallel.\n\n## Tips\n\n1. **Always run `browser-use state` first** to see available elements and their indices\n2. **Use `--headed` for debugging** to see what the browser is doing\n3. **Sessions persist** — the browser stays open between commands\n4. **Use `--json`** for programmatic parsing\n5. **Python variables persist** across `browser-use python` commands within a session\n6. **CLI aliases**: `bu`, `browser`, and `browseruse` all work identically to `browser-use`\n\n## Troubleshooting\n\n**Run diagnostics first:**\n```bash\nbrowser-use doctor\n```\n\n**Browser won't start?**\n```bash\nbrowser-use close --all               # Close all sessions\nbrowser-use --headed open <url>       # Try with visible window\n```\n\n**Element not found?**\n```bash\nbrowser-use state                     # Check current elements\nbrowser-use scroll down               # Element might be below fold\nbrowser-use state                     # Check again\n```\n\n**Session issues?**\n```bash\nbrowser-use sessions                  # Check active sessions\nbrowser-use close --all               # Clean slate\nbrowser-use open <url>                # Fresh start\n```\n\n**Session reuse fails after `task stop`**:\nIf you stop a task and try to reuse its session, the new task may get stuck at \"created\" status. Create a new session instead:\n```bash\nbrowser-use session create --profile <profile-id> --keep-alive\nbrowser-use -b remote run \"new task\" --session-id <new-session-id>\n```\n\n**Task stuck at \"started\"**: Check cost with `task status` — if not increasing, the task is stuck. View live URL with `session get`, then stop and start a new agent.\n\n**Sessions persist after tasks complete**: Tasks finishing doesn't auto-stop sessions. Run `browser-use session stop --all` to clean up.\n\n## Cleanup\n\n**Always close the browser when done:**\n\n```bash\nbrowser-use close                     # Close browser session\nbrowser-use session stop --all        # Stop cloud sessions (if any)\nbrowser-use tunnel stop --all         # Stop tunnels (if any)\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn71fxj97n86164tdd84bymp3n7zypxq\",\n  \"slug\": \"browser-use\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1771476812023\n}\n\nArchive v1.0.1: 2 files, 7623 bytes\n\nFiles: SKILL.md (22465b), _meta.json (130b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: browser-use\ndescription: Controls a cloud browser from a sandboxed remote machine. Use when the agent is running in a sandbox (no GUI) and needs to navigate websites, interact with web pages, fill forms, take screenshots, or expose local dev servers via tunnels.\nallowed-tools: Bash(browser-use:*)\n---\n\n# Remote Browser Automation for Sandboxed Agents\n\nThis skill is for agents running on **sandboxed remote machines** (cloud VMs, CI, coding agents) that need to control a browser. Install `browser-use` and drive a cloud browser — no local Chrome needed.\n\n## Setup\n\n**Remote-only install (recommended for sandboxed agents)**\n```bash\ncurl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --remote-only\n```\n\nThis configures browser-use to only use cloud browsers:\n- No Chromium download (~300MB saved)\n- `browser-use open <url>` automatically uses remote mode (no `--browser` flag needed)\n- If API key is available, you can also pass it during install:\n  ```bash\n  curl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --remote-only --api-key bu_xxx\n  ```\n\n**Manual install (alternative)**\n```bash\npip install \"browser-use[cli]\"\n\n# Install cloudflared for tunneling:\n# macOS:\nbrew install cloudflared\n\n# Linux:\ncurl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o ~/.local/bin/cloudflared && chmod +x ~/.local/bin/cloudflared\n\n# Windows:\nwinget install Cloudflare.cloudflared\n```\n\n**Then configure your API key:**\n```bash\nexport BROWSER_USE_API_KEY=bu_xxx   # Required for cloud browser\n```\n\n**Verify installation:**\n```bash\nbrowser-use doctor\n```\n\n## Core Workflow\n\nWhen installed with `--remote-only`, commands automatically use the cloud browser — no `--browser` flag needed:\n\n```bash\n# Step 1: Start session (automatically uses remote mode)\nbrowser-use open https://example.com\n# Returns: url, live_url (view the browser in real-time)\n\n# Step 2+: All subsequent commands use the existing session\nbrowser-use state                   # Get page elements with indices\nbrowser-use click 5                 # Click element by index\nbrowser-use type \"Hello World\"      # Type into focused element\nbrowser-use input 3 \"text\"          # Click element, then type\nbrowser-use screenshot              # Take screenshot (base64)\nbrowser-use screenshot page.png     # Save screenshot to file\n\n# Done: Close the session\nbrowser-use close                   # Close browser and release resources\n```\n\n### Understanding Installation Modes\n\n| Install Command | Available Modes | Default Mode | Use Case |\n|-----------------|-----------------|--------------|----------|\n| `--remote-only` | remote | remote | Sandboxed agents, no GUI |\n| `--local-only` | chromium, real | chromium | Local development |\n| `--full` | chromium, real, remote | chromium | Full flexibility |\n\nWhen only one mode is installed, it becomes the default and no `--browser` flag is needed.\n\n## Exposing Local Dev Servers\n\nIf you're running a dev server on the remote machine and need the cloud browser to reach it:\n\n```bash\n# Start your dev server\npython -m http.server 3000 &\n\n# Expose it via Cloudflare tunnel\nbrowser-use tunnel 3000\n# → url: https://abc.trycloudflare.com\n\n# Now the cloud browser can reach your local server\nbrowser-use open https://abc.trycloudflare.com\n```\n\nTunnel commands:\n```bash\nbrowser-use tunnel <port>           # Start tunnel (returns URL)\nbrowser-use tunnel <port>           # Idempotent - returns existing URL\nbrowser-use tunnel list             # Show active tunnels\nbrowser-use tunnel stop <port>      # Stop tunnel\nbrowser-use tunnel stop --all       # Stop all tunnels\n```\n\n**Note:** Tunnels are independent of browser sessions. They persist across `browser-use close` and can be managed separately.\n\nCloudflared is installed by `install.sh --remote-only`. If missing, install manually (see Setup section).\n\n## Commands\n\n### Navigation\n```bash\nbrowser-use open <url>              # Navigate to URL\nbrowser-use back                    # Go back in history\nbrowser-use scroll down             # Scroll down\nbrowser-use scroll up               # Scroll up\nbrowser-use scroll down --amount 1000  # Scroll by specific pixels (default: 500)\n```\n\n### Page State\n```bash\nbrowser-use state                   # Get URL, title, and clickable elements\nbrowser-use screenshot              # Take screenshot (base64)\nbrowser-use screenshot path.png     # Save screenshot to file\nbrowser-use screenshot --full p.png # Full page screenshot\n```\n\n### Interactions (use indices from `state`)\n```bash\nbrowser-use click <index>           # Click element\nbrowser-use type \"text\"             # Type into focused element\nbrowser-use input <index> \"text\"    # Click element, then type\nbrowser-use keys \"Enter\"            # Send keyboard keys\nbrowser-use keys \"Control+a\"        # Key combination\nbrowser-use select <index> \"option\" # Select dropdown option\nbrowser-use hover <index>           # Hover over element\nbrowser-use dblclick <index>        # Double-click\nbrowser-use rightclick <index>      # Right-click\n```\n\n### JavaScript & Data\n```bash\nbrowser-use eval \"document.title\"   # Execute JavaScript\nbrowser-use extract \"all prices\"    # Extract data using LLM\nbrowser-use get title               # Get page title\nbrowser-use get html                # Get page HTML\nbrowser-use get html --selector \"h1\"  # Scoped HTML\nbrowser-use get text <index>        # Get element text\nbrowser-use get value <index>       # Get input value\nbrowser-use get attributes <index>  # Get element attributes\nbrowser-use get bbox <index>        # Get bounding box (x, y, width, height)\n```\n\n### Wait Conditions\n```bash\nbrowser-use wait selector \"h1\"                         # Wait for element\nbrowser-use wait selector \".loading\" --state hidden    # Wait for element to disappear\nbrowser-use wait text \"Success\"                        # Wait for text\nbrowser-use wait selector \"#btn\" --timeout 5000        # Custom timeout (ms)\n```\n\n### Cookies\n```bash\nbrowser-use cookies get             # Get all cookies\nbrowser-use cookies get --url <url> # Get cookies for specific URL\nbrowser-use cookies set <name> <val>  # Set a cookie\nbrowser-use cookies set name val --domain .example.com --secure  # With options\nbrowser-use cookies set name val --same-site Strict  # SameSite: Strict, Lax, None\nbrowser-use cookies set name val --expires 1735689600  # Expiration timestamp\nbrowser-use cookies clear           # Clear all cookies\nbrowser-use cookies clear --url <url>  # Clear cookies for specific URL\nbrowser-use cookies export <file>   # Export to JSON\nbrowser-use cookies import <file>   # Import from JSON\n```\n\n### Tab Management\n```bash\nbrowser-use switch <tab>            # Switch tab by index\nbrowser-use close-tab               # Close current tab\nbrowser-use close-tab <tab>         # Close specific tab\n```\n\n### Python Execution (Persistent Session)\n```bash\nbrowser-use python \"x = 42\"           # Set variable\nbrowser-use python \"print(x)\"         # Access variable (prints: 42)\nbrowser-use python \"print(browser.url)\"  # Access browser object\nbrowser-use python --vars             # Show defined variables\nbrowser-use python --reset            # Clear namespace\nbrowser-use python --file script.py   # Run Python file\n```\n\nThe Python session maintains state across commands. The `browser` object provides:\n- `browser.url` - Current page URL\n- `browser.title` - Page title\n- `browser.html` - Get page HTML\n- `browser.goto(url)` - Navigate\n- `browser.click(index)` - Click element\n- `browser.type(text)` - Type text\n- `browser.input(index, text)` - Click element, then type\n- `browser.keys(keys)` - Send keyboard keys\n- `browser.screenshot(path)` - Take screenshot\n- `browser.scroll(direction, amount)` - Scroll page\n- `browser.back()` - Go back in history\n- `browser.wait(seconds)` - Sleep/pause execution\n- `browser.extract(query)` - Extract data using LLM\n\n### Agent Tasks\n```bash\nbrowser-use run \"Fill the contact form with test data\"   # AI agent\nbrowser-use run \"Extract all product prices\" --max-steps 50\n\n# Specify LLM model\nbrowser-use run \"task\" --llm gpt-4o\nbrowser-use run \"task\" --llm claude-sonnet-4-20250514\nbrowser-use run \"task\" --llm gemini-2.0-flash\n\n# Proxy configuration (default: us)\nbrowser-use run \"task\" --proxy-country gb    # UK proxy\nbrowser-use run \"task\" --proxy-country de    # Germany proxy\n\n# Session reuse (run multiple tasks in same browser session)\nbrowser-use run \"task 1\" --keep-alive\n# Returns: session_id: abc-123\nbrowser-use run \"task 2\" --session-id abc-123\n\n# Execution modes\nbrowser-use run \"task\" --no-wait     # Async, returns task_id immediately\nbrowser-use run \"task\" --wait        # Wait for completion\nbrowser-use run \"task\" --stream      # Stream status updates\nbrowser-use run \"task\" --flash       # Fast execution mode\n\n# Advanced options\nbrowser-use run \"task\" --thinking    # Extended reasoning mode\nbrowser-use run \"task\" --vision      # Enable vision (default)\nbrowser-use run \"task\" --no-vision   # Disable vision\n\n# Use cloud profile (preserves cookies across sessions)\nbrowser-use run \"task\" --profile <cloud-profile-id>\n\n# Task configuration\nbrowser-use run \"task\" --start-url https://example.com  # Start from specific URL\nbrowser-use run \"task\" --allowed-domain example.com     # Restrict navigation (repeatable)\nbrowser-use run \"task\" --metadata key=value             # Task metadata (repeatable)\nbrowser-use run \"task\" --secret API_KEY=xxx             # Task secrets (repeatable)\nbrowser-use run \"task\" --skill-id skill-123             # Enable skills (repeatable)\n\n# Structured output and evaluation\nbrowser-use run \"task\" --structured-output '{\"type\":\"object\"}'  # JSON schema for output\nbrowser-use run \"task\" --judge                          # Enable judge mode\nbrowser-use run \"task\" --judge-ground-truth \"answer\"    # Expected answer for judge\n```\n\n### Task Management\n\nManage cloud tasks:\n\n```bash\nbrowser-use task list                     # List recent tasks\nbrowser-use task list --limit 20          # Show more tasks\nbrowser-use task list --status running    # Filter by status\nbrowser-use task list --status finished\nbrowser-use task list --session <id>      # Filter by session ID\nbrowser-use task list --json              # JSON output\n\nbrowser-use task status <task-id>         # Get task status (latest step only)\nbrowser-use task status <task-id> -c      # Compact: all steps with reasoning\nbrowser-use task status <task-id> -v      # Verbose: full details with URLs + actions\nbrowser-use task status <task-id> --last 5   # Show only last 5 steps\nbrowser-use task status <task-id> --step 3   # Show specific step number\nbrowser-use task status <task-id> --reverse  # Show steps newest first\nbrowser-use task status <task-id> --json\n\nbrowser-use task stop <task-id>           # Stop a running task\n\nbrowser-use task logs <task-id>           # Get task execution logs\n```\n\n### Cloud Session Management\n\nManage cloud browser sessions:\n\n```bash\nbrowser-use session list                  # List cloud sessions\nbrowser-use session list --limit 20       # Show more sessions\nbrowser-use session list --status active  # Filter by status\nbrowser-use session list --json           # JSON output\n\nbrowser-use session get <session-id>      # Get session details + live URL\nbrowser-use session get <session-id> --json\n\nbrowser-use session stop <session-id>     # Stop a session\nbrowser-use session stop --all            # Stop all active sessions\n\n# Create a new cloud session manually\nbrowser-use session create                          # Create with defaults\nbrowser-use session create --profile <id>           # With cloud profile\nbrowser-use session create --proxy-country gb       # With geographic proxy\nbrowser-use session create --start-url https://example.com  # Start at URL\nbrowser-use session create --screen-size 1920x1080  # Custom screen size\nbrowser-use session create --keep-alive             # Keep session alive\nbrowser-use session create --persist-memory         # Persist memory between tasks\n\n# Share session publicly (for collaboration/debugging)\nbrowser-use session share <session-id>    # Create public share URL\nbrowser-use session share <session-id> --delete  # Delete public share\n```\n\n### Cloud Profile Management\n\nCloud profiles store browser state (cookies) persistently across sessions. Use profiles to maintain login sessions.\n\n```bash\nbrowser-use profile list                  # List cloud profiles\nbrowser-use profile list --page 2 --page-size 50  # Pagination\nbrowser-use profile get <id>              # Get profile details\nbrowser-use profile create                # Create new profile\nbrowser-use profile create --name \"My Profile\"  # Create with name\nbrowser-use profile update <id> --name \"New Name\"  # Rename profile\nbrowser-use profile delete <id>           # Delete profile\n```\n\n**Using profiles:**\n```bash\n# Run task with profile (preserves cookies)\nbrowser-use run \"Log into site\" --profile <profile-id> --keep-alive\n\n# Create session with profile\nbrowser-use session create --profile <profile-id>\n\n# Open URL with profile\nbrowser-use open https://example.com --profile <profile-id>\n```\n\n**Import cookies to cloud profile:**\n```bash\n# Export cookies from current session\nbrowser-use cookies export /tmp/cookies.json\n\n# Import to cloud profile\nbrowser-use cookies import /tmp/cookies.json --profile <profile-id>\n```\n\n## Running Subagents\n\nCloud sessions and tasks provide a powerful model for running **subagents** - autonomous browser agents that execute tasks in parallel.\n\n### Key Concepts\n\n- **Session = Agent**: Each cloud session is a browser agent with its own state (cookies, tabs, history)\n- **Task = Work**: Tasks are jobs given to an agent. An agent can run multiple tasks sequentially\n- **Parallel agents**: Run multiple sessions simultaneously for parallel work\n- **Session reuse**: While a session is alive, you can assign it more tasks\n- **Session lifecycle**: Once stopped, a session cannot be revived - start a new one\n\n### Basic Subagent Workflow\n\n```bash\n# 1. Start a subagent task (creates new session automatically)\nbrowser-use run \"Search for AI news and summarize top 3 articles\" --no-wait\n# Returns: task_id: task-abc, session_id: sess-123\n\n# 2. Check task progress\nbrowser-use task status task-abc\n# Shows: Status: running, or finished with output\n\n# 3. View execution logs\nbrowser-use task logs task-abc\n```\n\n### Running Parallel Subagents\n\nLaunch multiple agents to work simultaneously:\n\n```bash\n# Start 3 parallel research agents\nbrowser-use run \"Research competitor A pricing\" --no-wait\n# → task_id: task-1, session_id: sess-a\n\nbrowser-use run \"Research competitor B pricing\" --no-wait\n# → task_id: task-2, session_id: sess-b\n\nbrowser-use run \"Research competitor C pricing\" --no-wait\n# → task_id: task-3, session_id: sess-c\n\n# Monitor all running tasks\nbrowser-use task list --status running\n# Shows all 3 tasks with their status\n\n# Check individual task results as they complete\nbrowser-use task status task-1\nbrowser-use task status task-2\nbrowser-use task status task-3\n```\n\n### Reusing an Agent for Multiple Tasks\n\nKeep a session alive to run sequential tasks in the same browser context:\n\n```bash\n# Start first task, keep session alive\nbrowser-use run \"Log into example.com\" --keep-alive --no-wait\n# → task_id: task-1, session_id: sess-123\n\n# Wait for login to complete...\nbrowser-use task status task-1\n# → Status: finished\n\n# Give the same agent another task (reuses login session)\nbrowser-use run \"Navigate to settings and export data\" --session-id sess-123 --no-wait\n# → task_id: task-2, session_id: sess-123 (same session!)\n\n# Agent retains cookies, login state, etc. from previous task\n```\n\n### Managing Active Agents\n\n```bash\n# List all active agents (sessions)\nbrowser-use session list --status active\n# Shows: sess-123 [active], sess-456 [active], ...\n\n# Get details on a specific agent\nbrowser-use session get sess-123\n# Shows: status, started time, live URL for viewing\n\n# Stop a specific agent\nbrowser-use session stop sess-123\n\n# Stop all agents at once\nbrowser-use session stop --all\n```\n\n### Stopping Tasks vs Sessions\n\n```bash\n# Stop a running task (session may continue if --keep-alive was used)\nbrowser-use task stop task-abc\n\n# Stop an entire agent/session (terminates all its tasks)\nbrowser-use session stop sess-123\n```\n\n### Custom Agent Configuration\n\n```bash\n# Default: US proxy, auto LLM selection\nbrowser-use run \"task\" --no-wait\n\n# Explicit configuration\nbrowser-use run \"task\" \\\n  --llm gpt-4o \\\n  --proxy-country gb \\\n  --keep-alive \\\n  --no-wait\n\n# With cloud profile (preserves cookies across sessions)\nbrowser-use run \"task\" --profile <profile-id> --no-wait\n```\n\n### Monitoring Subagents\n\n**Task status is designed for token efficiency.** Default output is minimal - only expand when needed:\n\n| Mode | Flag | Tokens | Use When |\n|------|------|--------|----------|\n| Default | (none) | Low | Polling progress |\n| Compact | `-c` | Medium | Need full reasoning |\n| Verbose | `-v` | High | Debugging actions |\n\n**Recommended workflow:**\n\n```bash\n# 1. Launch task\nbrowser-use run \"task\" --no-wait\n# → task_id: abc-123\n\n# 2. Poll with default (token efficient) - only latest step\nbrowser-use task status abc-123\n# ✅ abc-123... [finished] $0.009 15s\n#   ... 1 earlier steps\n#   2. I found the information and extracted...\n\n# 3. ONLY IF task failed or need context: use --compact\nbrowser-use task status abc-123 -c\n\n# 4. ONLY IF debugging specific actions: use --verbose\nbrowser-use task status abc-123 -v\n```\n\n**For long tasks (50+ steps):**\n```bash\nbrowser-use task status <id> -c --last 5   # Last 5 steps only\nbrowser-use task status <id> -c --reverse  # Newest first\nbrowser-use task status <id> -v --step 10  # Inspect specific step\n```\n\n**Live view**: Watch an agent work in real-time:\n```bash\nbrowser-use session get <session-id>\n# → Live URL: https://live.browser-use.com?wss=...\n```\n\n**Detect stuck tasks**: If cost/duration stops increasing, the task may be stuck:\n```bash\nbrowser-use task status <task-id>\n# 🔄 abc-123... [started] $0.009 45s  ← if cost doesn't change, task is stuck\n```\n\n**Logs**: Only available after task completes:\n```bash\nbrowser-use task logs <task-id>  # Works after task finishes\n```\n\n### Cleanup\n\nAlways clean up sessions after parallel work:\n```bash\n# Stop all active agents\nbrowser-use session stop --all\n\n# Or stop specific sessions\nbrowser-use session stop <session-id>\n```\n\n### Troubleshooting\n\n**Session reuse fails after `task stop`**:\nIf you stop a task and try to reuse its session, the new task may get stuck at \"created\" status. Solution: create a new agent instead.\n```bash\n# This may fail:\nbrowser-use task stop <task-id>\nbrowser-use run \"new task\" --session-id <same-session>  # Might get stuck\n\n# Do this instead:\nbrowser-use run \"new task\" --profile <profile-id>  # Fresh session\n```\n\n**Task stuck at \"started\"**:\n- Check cost with `task status` - if not increasing, task is stuck\n- View live URL with `session get` to see what's happening\n- Stop the task and create a new agent\n\n**Sessions persist after tasks complete**:\nTasks finishing doesn't auto-stop sessions. Clean up manually:\n```bash\nbrowser-use session list --status active  # See lingering sessions\nbrowser-use session stop --all            # Clean up\n```\n\n### Session Management\n```bash\nbrowser-use sessions                # List active sessions\nbrowser-use close                   # Close current session\nbrowser-use close --all             # Close all sessions\n```\n\n### Global Options\n\n| Option | Description |\n|--------|-------------|\n| `--session NAME` | Named session (default: \"default\") |\n| `--browser MODE` | Browser mode (only if multiple modes installed) |\n| `--profile ID` | Cloud profile ID for persistent cookies |\n| `--json` | Output as JSON |\n| `--api-key KEY` | Override API key |\n\n## Common Patterns\n\n### Test a Local Dev Server with Cloud Browser\n\n```bash\n# Start dev server\nnpm run dev &  # localhost:3000\n\n# Tunnel it\nbrowser-use tunnel 3000\n# → url: https://abc.trycloudflare.com\n\n# Browse with cloud browser\nbrowser-use open https://abc.trycloudflare.com\nbrowser-use state\nbrowser-use screenshot\n```\n\n### Form Submission\n\n```bash\nbrowser-use open https://example.com/contact\nbrowser-use state\n# Shows: [0] input \"Name\", [1] input \"Email\", [2] textarea \"Message\", [3] button \"Submit\"\nbrowser-use input 0 \"John Doe\"\nbrowser-use input 1 \"john@example.com\"\nbrowser-use input 2 \"Hello, this is a test message.\"\nbrowser-use click 3\nbrowser-use state   # Verify success\n```\n\n### Screenshot Loop for Visual Verification\n\n```bash\nbrowser-use open https://example.com\nfor i in 1 2 3 4 5; do\n  browser-use scroll down\n  browser-use screenshot \"page_$i.png\"\ndone\n```\n\n## Tips\n\n1. **Install with `--remote-only`** for sandboxed environments — no `--browser` flag needed\n2. **Always run `state` first** to see available elements and their indices\n3. **Sessions persist** across commands — the browser stays open until you close it\n4. **Tunnels are independent** — they don't require or create a browser session, and persist across `browser-use close`\n5. **Use `--json`** for programmatic parsing\n6. **`tunnel` is idempotent** — calling it again for the same port returns the existing URL\n7. **Close when done** — `browser-use close` closes the browser; `browser-use tunnel stop --all` stops tunnels\n\n## Troubleshooting\n\n**\"Browser mode 'chromium' not installed\"?**\n- You installed with `--remote-only` which doesn't include local modes\n- This is expected behavior for sandboxed agents\n- If you need local browser, reinstall with `--full`\n\n**Cloud browser won't start?**\n- Verify `BROWSER_USE_API_KEY` is set\n- Check your API key at https://browser-use.com\n\n**Tunnel not working?**\n- Verify cloudflared is installed: `which cloudflared`\n- If missing, install manually (see Setup section) or re-run `install.sh --remote-only`\n- `browser-use tunnel list` to check active tunnels\n- `browser-use tunnel stop <port>` and retry\n\n**Element not found?**\n- Run `browser-use state` to see current elements\n- `browser-use scroll down` then `browser-use state` — element might be below fold\n- Page may have changed — re-run `state` to get fresh indices\n\n## Cleanup\n\n**Close the browser when done:**\n\n```bash\nbrowser-use close              # Close browser session\nbrowser-use tunnel stop --all  # Stop all tunnels (if any)\n```\n\nBrowser sessions and tunnels are managed separately, so close each as needed.\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn71fxj97n86164tdd84bymp3n7zypxq\",\n  \"slug\": \"browser-use\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1771314805181\n}","readmeExcerpt":"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:1.0.2 Version history: v1.0.2 | 2026-02-19T04:53:32.023Z | user - Documentation reworked and simplified for clarity and easier reference. - Audience broadened: Skill now addresses general browser autom","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"browser-use doctor"},{"language":"bash","snippet":"browser-use --browser chromium open <url>      # Default: headless Chromium\nbrowser-use --browser chromium --headed open <url>  # Visible Chromium window\nbrowser-use --browser real open <url>          # Real Chrome (no profile = fresh)\nbrowser-use --browser real --profile \"Default\" open <url>  # Real Chrome with your login sessions\nbrowser-use --browser remote open <url>        # Cloud browser"},{"language":"bash","snippet":"# Navigation\nbrowser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back\nbrowser-use scroll down                   # Scroll down (--amount N for pixels)\n\n# Page State (always run state first to get element indices)\nbrowser-use state                         # Get URL, title, clickable elements\nbrowser-use screenshot                    # Take screenshot (base64)\nbrowser-use screenshot path.png           # Save screenshot to file\n\n# Interactions (use indices from state)\nbrowser-use click <index>                 # Click element\nbrowser-use type \"text\"                   # Type into focused element\nbrowser-use input <index> \"text\"          # Click element, then type\nbrowser-use keys \"Enter\"                  # Send keyboard keys\nbrowser-use select <index> \"option\"       # Select dropdown option\n\n# Data Extraction\nbrowser-use eval \"document.title\"         # Execute JavaScript\nbrowser-use get text <index>              # Get element text\nbrowser-use get html --selector \"h1\"      # Get scoped HTML\n\n# Wait\nbrowser-use wait selector \"h1\"            # Wait for element\nbrowser-use wait text \"Success\"           # Wait for text\n\n# Session\nbrowser-use sessions                      # List active sessions\nbrowser-use close                         # Close current session\nbrowser-use close --all                   # Close all sessions\n\n# AI Agent\nbrowser-use -b remote run \"task\"          # Run agent in cloud (async by default)\nbrowser-use task status <id>              # Check cloud task progress"},{"language":"bash","snippet":"browser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back in history\nbrowser-use scroll down                   # Scroll down\nbrowser-use scroll up                     # Scroll up\nbrowser-use scroll down --amount 1000     # Scroll by specific pixels (default: 500)\nbrowser-use switch <tab>                  # Switch to tab by index\nbrowser-use close-tab                     # Close current tab\nbrowser-use close-tab <tab>              # Close specific tab"},{"language":"bash","snippet":"browser-use state                         # Get URL, title, and clickable elements\nbrowser-use screenshot                    # Take screenshot (outputs base64)\nbrowser-use screenshot path.png           # Save screenshot to file\nbrowser-use screenshot --full path.png    # Full page screenshot"},{"language":"bash","snippet":"browser-use click <index>                 # Click element\nbrowser-use type \"text\"                   # Type text into focused element\nbrowser-use input <index> \"text\"          # Click element, then type text\nbrowser-use keys \"Enter\"                  # Send keyboard keys\nbrowser-use keys \"Control+a\"              # Send key combination\nbrowser-use select <index> \"option\"       # Select dropdown option\nbrowser-use hover <index>                 # Hover over element (triggers CSS :hover)\nbrowser-use dblclick <index>              # Double-click element\nbrowser-use rightclick <index>            # Right-click element (context menu)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: browser-use\ndescription: 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.\nallowed-tools: Bash(browser-use:*)\n---\n\n# Browser Automation with browser-use CLI\n\nThe `browser-use` command provides fast, persistent browser automation. It maintains browser sessions across commands, enabling complex multi-step workflows.\n\n## Prerequisites\n\nBefore using this skill, `browser-use` must be installed and configured. Run diagnostics to verify:\n\n```bash\nbrowser-use doctor\n```\n\nFor more information, see https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md\n\n## Core Workflow\n\n1. **Navigate**: `browser-use open <url>` - Opens URL (starts browser if needed)\n2. **Inspect**: `browser-use state` - Returns clickable elements with indices\n3. **Interact**: Use indices from state to interact (`browser-use click 5`, `browser-use input 3 \"text\"`)\n4. **Verify**: `browser-use state` or `browser-use screenshot` to confirm actions\n5. **Repeat**: Browser stays open between commands\n\n## Browser Modes\n\n```bash\nbrowser-use --browser chromium open <url>      # Default: headless Chromium\nbrowser-use --browser chromium --headed open <url>  # Visible Chromium window\nbrowser-use --browser real open <url>          # Real Chrome (no profile = fresh)\nbrowser-use --browser real --profile \"Default\" open <url>  # Real Chrome with your login sessions\nbrowser-use --browser remote open <url>        # Cloud browser\n```\n\n- **chromium**: Fast, isolated, headless by default\n- **real**: Uses a real Chrome binary. Without `--profile`, uses a persistent but empty CLI profile at `~/.config/browseruse/profiles/cli/`. With `--profile \"ProfileName\"`, copies your actual Chrome profile (cookies, logins, extensions)\n- **remote**: Cloud-hosted browser with proxy support\n\n## Essential Commands\n\n```bash\n# Navigation\nbrowser-use open <url>                    # Navigate to URL\nbrowser-use back                          # Go back\nbrowser-use scroll down                   # Scroll down (--amount N for pixels)\n\n# Page State (always run state first to get element indices)\nbrowser-use state                         # Get URL, title, clickable elements\nbrowser-use screenshot                    # Take screenshot (base64)\nbrowser-use screenshot path.png           # Save screenshot to file\n\n# Interactions (use indices from state)\nbrowser-use click <index>                 # Click element\nbrowser-use type \"text\"                   # Type into focused element\nbrowser-use input <index> \"text\"          # Click element, then type\nbrowser-use keys \"Enter\"                  # Send keyboard keys\nbrowser-use select <index> \"option\"       # Select dropdown option\n\n# Data Extraction\nbrowser-use eval \"document.title\"         # Execute JavaScript\nbrowser-use get text <index>              # Get element text\nbrowser-us"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71fxj97n86164tdd84bymp3n7zypxq\",\n  \"slug\": \"browser-use\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1771476812023\n}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"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:1.0.2 Version history: v1.0.2 | 2026-02-19T04:53:32.023Z | user - Documentation reworked and simplified for clarity and easier reference. - Audience broadened: Skill now addresses general browser autom","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":971,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"agent-directory","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:01:22.527Z","emptyReason":"No close protocol neighbors were found."},"items":[],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[]}}}