AgentStack
SKILL unreviewed MIT Self-run

Browser Use

skill-eugenepyvovarov-mcpbundler-agent-skills-marketplace-browser-use · by eugenepyvovarov

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.

No reviews yet
0 installs
15 views
0.0% view→install

Install

$ agentstack add skill-eugenepyvovarov-mcpbundler-agent-skills-marketplace-browser-use

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Browser Use? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Browser Automation with browser-use CLI

The browser-use command provides fast, persistent browser automation. It maintains browser sessions across commands, enabling complex multi-step workflows.

Installation

# Run without installing (recommended for one-off use)
uvx "browser-use[cli]" open https://example.com

# Or install permanently
uv pip install "browser-use[cli]"

# Install browser dependencies (Chromium)
browser-use install

Setup

One-line install (recommended)

curl -fsSL https://browser-use.com/cli/install.sh | bash

This interactive installer lets you choose your installation mode and configures everything automatically.

Installation modes:

curl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --remote-only  # Cloud browser only
curl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --local-only   # Local browser only
curl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --full         # All modes

| Install Mode | Available Browsers | Default | Use Case | |--------------|-------------------|---------|----------| | --remote-only | remote | remote | Sandboxed agents, CI, no GUI | | --local-only | chromium, real | chromium | Local development | | --full | chromium, real, remote | chromium | Full flexibility |

When only one mode is installed, it becomes the default and no --browser flag is needed.

Pass API key during install:

curl -fsSL https://browser-use.com/cli/install.sh | bash -s -- --remote-only --api-key bu_xxx

Verify installation:

browser-use doctor

Setup wizard (first-time configuration):

browser-use setup                         # Interactive setup
browser-use setup --mode local            # Configure for local browser only
browser-use setup --mode remote           # Configure for cloud browser only
browser-use setup --mode full             # Configure all modes
browser-use setup --api-key bu_xxx        # Set API key during setup
browser-use setup --yes                   # Skip interactive prompts

Generate template files:

browser-use init                          # Interactive template selection
browser-use init --list                   # List available templates
browser-use init --template basic         # Generate specific template
browser-use init --output my_script.py    # Specify output file
browser-use init --force                  # Overwrite existing files

Manual cloudflared install (for tunneling):

# macOS:
brew install cloudflared

# Linux:
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o ~/.local/bin/cloudflared && chmod +x ~/.local/bin/cloudflared

# Windows:
winget install Cloudflare.cloudflared

Quick Start

browser-use open https://example.com           # Navigate to URL
browser-use state                              # Get page elements with indices
browser-use click 5                            # Click element by index
browser-use type "Hello World"                 # Type text
browser-use screenshot                         # Take screenshot
browser-use close                              # Close browser

Core Workflow

  1. Navigate: browser-use open - Opens URL (starts browser if needed)
  2. Inspect: browser-use state - Returns clickable elements with indices
  3. Interact: Use indices from state to interact (browser-use click 5, browser-use input 3 "text")
  4. Verify: browser-use state or browser-use screenshot to confirm actions
  5. Repeat: Browser stays open between commands

Browser Modes

browser-use --browser chromium open       # Default: headless Chromium
browser-use --browser chromium --headed open   # Visible Chromium window
browser-use --browser real open           # User's Chrome with login sessions
browser-use --browser remote open         # Cloud browser (requires API key)
  • chromium: Fast, isolated, headless by default
  • real: Uses your Chrome with cookies, extensions, logged-in sessions
  • remote: Cloud-hosted browser with proxy support (requires BROWSERUSEAPI_KEY)

Commands

Navigation

browser-use open                     # Navigate to URL
browser-use back                          # Go back in history
browser-use scroll down                   # Scroll down
browser-use scroll up                     # Scroll up
browser-use scroll down --amount 1000     # Scroll by specific pixels (default: 500)

Page State

browser-use state                         # Get URL, title, and clickable elements
browser-use screenshot                    # Take screenshot (outputs base64)
browser-use screenshot path.png           # Save screenshot to file
browser-use screenshot --full path.png    # Full page screenshot

Interactions (use indices from browser-use state)

browser-use click                  # Click element
browser-use type "text"                   # Type text into focused element
browser-use input  "text"          # Click element, then type text
browser-use keys "Enter"                  # Send keyboard keys
browser-use keys "Control+a"              # Send key combination
browser-use select  "option"       # Select dropdown option

Tab Management

browser-use switch                   # Switch to tab by index
browser-use close-tab                     # Close current tab
browser-use close-tab                # Close specific tab

JavaScript & Data

browser-use eval "document.title"         # Execute JavaScript, return result
browser-use extract "all product prices"  # Extract data using LLM (requires API key)

Cookies

browser-use cookies get                   # Get all cookies
browser-use cookies get --url        # Get cookies for specific URL
browser-use cookies set      # Set a cookie
browser-use cookies set name val --domain .example.com --secure --http-only
browser-use cookies set name val --same-site Strict  # SameSite: Strict, Lax, or None
browser-use cookies set name val --expires 1735689600  # Expiration timestamp
browser-use cookies clear                 # Clear all cookies
browser-use cookies clear --url      # Clear cookies for specific URL
browser-use cookies export          # Export all cookies to JSON file
browser-use cookies export  --url   # Export cookies for specific URL
browser-use cookies import          # Import cookies from JSON file

Wait Conditions

browser-use wait selector "h1"            # Wait for element to be visible
browser-use wait selector ".loading" --state hidden  # Wait for element to disappear
browser-use wait selector "#btn" --state attached    # Wait for element in DOM
browser-use wait text "Success"           # Wait for text to appear
browser-use wait selector "h1" --timeout 5000  # Custom timeout in ms

Additional Interactions

browser-use hover                  # Hover over element (triggers CSS :hover)
browser-use dblclick               # Double-click element
browser-use rightclick             # Right-click element (context menu)

Information Retrieval

browser-use get title                     # Get page title
browser-use get html                      # Get full page HTML
browser-use get html --selector "h1"      # Get HTML of specific element
browser-use get text               # Get text content of element
browser-use get value              # Get value of input/textarea
browser-use get attributes         # Get all attributes of element
browser-use get bbox               # Get bounding box (x, y, width, height)

Python Execution (Persistent Session)

browser-use python "x = 42"               # Set variable
browser-use python "print(x)"             # Access variable (outputs: 42)
browser-use python "print(browser.url)"   # Access browser object
browser-use python --vars                 # Show defined variables
browser-use python --reset                # Clear Python namespace
browser-use python --file script.py       # Execute Python file

The Python session maintains state across commands. The browser object provides:

  • browser.url - Current page URL
  • browser.title - Page title
  • browser.html - Get page HTML
  • browser.goto(url) - Navigate
  • browser.click(index) - Click element
  • browser.type(text) - Type text
  • browser.input(index, text) - Click element, then type
  • browser.keys(keys) - Send keyboard keys (e.g., "Enter", "Control+a")
  • browser.screenshot(path) - Take screenshot
  • browser.scroll(direction, amount) - Scroll page
  • browser.back() - Go back in history
  • browser.wait(seconds) - Sleep/pause execution
  • browser.extract(query) - Extract data using LLM

Agent Tasks (Requires API Key)

browser-use run "Fill the contact form with test data"    # Run AI agent
browser-use run "Extract all product prices" --max-steps 50

Agent tasks use an LLM to autonomously complete complex browser tasks. Requires BROWSER_USE_API_KEY or configured LLM API key (OPENAIAPIKEY, ANTHROPICAPIKEY, etc).

Remote Mode Agent Options

When using --browser remote, additional options are available:

# Basic remote task (uses US proxy by default)
browser-use -b remote run "Search for AI news"

# Specify LLM model
browser-use -b remote run "task" --llm gpt-4o
browser-use -b remote run "task" --llm claude-sonnet-4-20250514
browser-use -b remote run "task" --llm gemini-2.0-flash

# Proxy configuration (default: us)
browser-use -b remote run "task" --proxy-country gb    # UK proxy
browser-use -b remote run "task" --proxy-country de    # Germany proxy

# Session reuse (run multiple tasks in same browser session)
browser-use -b remote run "task 1" --keep-alive
# Returns: session_id: abc-123
browser-use -b remote run "task 2" --session-id abc-123

# Execution modes
browser-use -b remote run "task" --no-wait     # Async, returns task_id immediately
browser-use -b remote run "task" --stream      # Stream status updates
browser-use -b remote run "task" --flash       # Fast execution mode

# Advanced options
browser-use -b remote run "task" --thinking    # Extended reasoning mode
browser-use -b remote run "task" --vision      # Enable vision (default)
browser-use -b remote run "task" --no-vision   # Disable vision
browser-use -b remote run "task" --wait        # Wait for completion (default: async)

# Use cloud profile (preserves cookies across sessions)
browser-use -b remote run "task" --profile 

# Task configuration
browser-use -b remote run "task" --start-url https://example.com  # Start from specific URL
browser-use -b remote run "task" --allowed-domain example.com     # Restrict navigation (repeatable)
browser-use -b remote run "task" --metadata key=value             # Task metadata (repeatable)
browser-use -b remote run "task" --secret API_KEY=xxx             # Task secrets (repeatable)
browser-use -b remote run "task" --skill-id skill-123             # Enable skills (repeatable)

# Structured output and evaluation
browser-use -b remote run "task" --structured-output '{"type":"object"}'  # JSON schema for output
browser-use -b remote run "task" --judge                 # Enable judge mode
browser-use -b remote run "task" --judge-ground-truth "expected answer"   # Expected answer for judge

Task Management (Remote Mode)

Manage cloud tasks when using remote mode:

browser-use task list                     # List recent tasks
browser-use task list --limit 20          # Show more tasks
browser-use task list --status running    # Filter by status
browser-use task list --session       # Filter by session ID
browser-use task list --json              # JSON output

browser-use task status          # Get task status (token efficient)
browser-use task status  -c      # Show all steps with reasoning
browser-use task status  -v      # Show all steps with URLs + actions
browser-use task status  --last 5  # Show only last 5 steps
browser-use task status  --step 3  # Show specific step number
browser-use task status  --reverse # Show steps newest first

browser-use task stop            # Stop a running task
browser-use task logs            # Get task execution logs

Token-efficient monitoring: Default task status shows only the latest step. Use -c (compact) or -v (verbose) only when you need more context.

Cloud Session Management (Remote Mode)

Manage cloud browser sessions:

browser-use session list                  # List cloud sessions
browser-use session list --limit 20       # Show more sessions
browser-use session list --status active  # Filter by status
browser-use session list --json           # JSON output

browser-use session get       # Get session details
browser-use session get  --json

browser-use session stop      # Stop a session
browser-use session stop --all            # Stop all active sessions

# Create a new cloud session manually
browser-use session create                          # Create with defaults
browser-use session create --profile            # With cloud profile
browser-use session create --proxy-country gb       # With geographic proxy
browser-use session create --start-url https://example.com  # Start at URL
browser-use session create --screen-size 1920x1080  # Custom screen size
browser-use session create --keep-alive             # Keep session alive
browser-use session create --persist-memory         # Persist memory between tasks

# Share session publicly (for collaboration/debugging)
browser-use session share     # Create public share URL
browser-use session share  --delete  # Delete public share

Exposing Local Dev Servers

If you're running a dev server locally and need a cloud browser to reach it, use Cloudflare tunnels:

# Start your dev server
npm run dev &  # localhost:3000

# Expose it via Cloudflare tunnel
browser-use tunnel 3000
# → url: https://abc.trycloudflare.com

# Now the cloud browser can reach your local server
browser-use --browser remote open https://abc.trycloudflare.com

Tunnel commands:

browser-use tunnel            # Start tunnel (returns URL)
browser-use tunnel            # Idempotent - returns existing URL
browser-use tunnel list             # Show active tunnels
browser-use tunnel stop       # Stop tunnel
browser-use tunnel stop --all       # Stop all tunnels

Note: Tunnels are independent of browser sessions. They persist across browser-use close and can be managed separately.

Cloudflared is installed by install.sh. If missing, install manually (see Setup section).

Running Subagents (Remote Mode)

Cloud sessions and tasks provide a powerful model for running subagents - autonomous browser agents that execute tasks in parallel.

Key Concepts

  • Session = Agent: Each cloud session is a browser agent with its own state (cookies, tabs, history)
  • Task = Work: Tasks are jobs given to an agent. An agent can run multiple tasks sequentially
  • Parallel agents: Run multiple sessions simultaneously for parallel work
  • Session reuse: While a session is alive, you can assign it more tasks
  • Session lifecycle: Once stopped, a session cannot be revived - start a new one

Basic Subagent Workflow

# 1. Start a subagent task (creates new session automatically)
browser-use -b remote run "Search for AI news and summarize top 3 articles" --no-wait
# Returns: task_id: task-abc, session_id: sess-123

# 2. Check task progress
browser-use task status task-abc
# Shows: Status: running, or finished with output

# 3. View execution logs
browser-use task logs task-abc

Running Parallel Subagents

Launch multiple agents to work simultaneously:

# Start 3 parallel research agents
browser-use -b remote run "Research competitor A pricing" --no-wait
# → task_id: task-1, session_id: sess-a

browser-use -b remote run "Research competitor B pricing" --no-wait
# → task_id: ta

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [eugenepyvovarov](https://github.com/eugenepyvovarov)
- **Source:** [eugenepyvovarov/mcpbundler-agent-skills-marketplace](https://github.com/eugenepyvovarov/mcpbundler-agent-skills-marketplace)
- **License:** MIT
- **Homepage:** https://mcp-bundler.com/skills-marketplace/

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.