CLI Usage

The browser-use command-line interface provides multiple modes of operation for browser automation.

Installation

Get started with browser-use immediately using uvx:

uvx browser-use --help

Or install it globally:

uv tool install 'browser-use[cli]'

Modes of Operation

1. Interactive TUI Mode (Default)

Launch an interactive terminal UI where you can chat with the browser automation agent:

uvx browser-use

This opens a chat interface where you can:

  • Type natural language commands to control the browser
  • See real-time feedback from the agent
  • View browser state and actions being performed

2. One-Shot Mode

Execute a single task without entering interactive mode:

uvx browser-use -p "Search for OpenAI documentation and take a screenshot"

Options:

  • -p, --prompt: The task to execute
  • --headless: Run browser in headless mode
  • --model: Specify LLM model (default: gpt-4o)

3. MCP Server Mode

Run browser-use as a Model Context Protocol server:

uvx browser-use --mcp   # exoects MCP JSON RPC over stdio

This mode exposes browser automation capabilities as MCP tools that can be used by:

  • Claude Desktop
  • Other MCP-compatible clients
  • Custom applications using the MCP SDK

For MCP integration details, see:

Configuration

Browser-use can be configured through environment variables and a configuration file.

Configuration File Location

The default configuration file is located at:

  • ~/.config/browseruse/config.json

You can override this location with:

  • BROWSER_USE_CONFIG_PATH environment variable
  • BROWSER_USE_CONFIG_DIR environment variable (directory containing config.json)

Configuration File Format

The configuration uses a database-style format with UUID entries:

{
  "browser_profile": {
    "550e8400-e29b-41d4-a716-446655440000": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "default": true,
      "created_at": "2024-01-01T00:00:00",
      "headless": false,
      "user_data_dir": null,
      "allowed_domains": ["example.com"],
      "downloads_path": "~/Downloads/browser-use"
    }
  },
  "llm": {
    "6ba7b810-9dad-11d1-80b4-00c04fd430c8": {
      "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "default": true,
      "created_at": "2024-01-01T00:00:00",
      "api_key": "your-openai-api-key-here",
      "model": "gpt-4o",
      "temperature": 0.7
    }
  },
  "agent": {
    "6ba7b812-9dad-11d1-80b4-00c04fd430c8": {
      "id": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
      "default": true,
      "created_at": "2024-01-01T00:00:00",
      "max_steps": 100,
      "use_vision": true
    }
  }
}

Each configuration type (browser_profile, llm, agent) can have multiple entries, with one marked as default: true.

Environment Variables

Environment variables always override config.json values:

General Settings

  • BROWSER_USE_LOGGING_LEVEL: Logging level (debug, info, warning, error)
  • BROWSER_USE_CONFIG_PATH: Full path to config.json file
  • BROWSER_USE_CONFIG_DIR: Directory containing config.json

Browser Profile Settings

  • BROWSER_USE_HEADLESS: Run browser in headless mode (true/false)
  • BROWSER_USE_ALLOWED_DOMAINS: Comma-separated list of allowed domains
  • BROWSER_USE_USER_DATA_DIR: Chrome user data directory path

LLM Settings

  • OPENAI_API_KEY: OpenAI API key
  • ANTHROPIC_API_KEY: Anthropic API key
  • BROWSER_USE_LLM_MODEL: LLM model to use (e.g., gpt-4o, claude-3-opus)

MCP-Specific Settings

When running in MCP mode, these environment variables are particularly useful:

  • BROWSER_USE_HEADLESS: Control browser visibility
  • OPENAI_API_KEY: Required for agent-based tools

Browser Profiles Directory

Browser profiles are stored in:

~/.config/browseruse/profiles/
├── default/           # Default browser profile
├── work/             # Custom profile example
└── research/         # Another custom profile

Each profile directory contains Chrome user data, allowing you to:

  • Maintain separate browser sessions
  • Keep cookies and local storage isolated
  • Use different extensions per profile

Examples

Basic Usage

# Interactive mode
uvx browser-use

# One-shot task
uvx browser-use -p "Go to github.com and search for browser-use"

# Headless one-shot
uvx browser-use --headless -p "Extract prices from example.com/products"

With Configuration

# Use specific config file
BROWSER_USE_CONFIG_PATH=~/my-config.json uvx browser-use

# Override settings via environment
BROWSER_USE_HEADLESS=true OPENAI_API_KEY=sk-... uvx browser-use -p "Check my email"

# Use different LLM model
BROWSER_USE_LLM_MODEL=gpt-4-turbo uvx browser-use

MCP Server Usage

# Start MCP server
uvx browser-use --mcp

# With custom settings
BROWSER_USE_HEADLESS=false OPENAI_API_KEY=sk-... uvx browser-use --mcp

For Claude Desktop integration, add to your Claude Desktop config:

{
  "mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": ["browser-use", "--mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "BROWSER_USE_HEADLESS": "false"
      }
    }
  }
}

Troubleshooting

Common Issues

  1. Browser not launching: Ensure Chrome/Chromium is installed
  2. API key errors: Set appropriate API key environment variables
  3. Permission errors: Check file permissions in ~/.config/browseruse/

Debug Mode

Enable debug logging for troubleshooting:

BROWSER_USE_LOGGING_LEVEL=debug uvx browser-use

See Also