Documentation Index
Fetch the complete documentation index at: https://mintlify.com/browser-use/browser-use/llms.txt
Use this file to discover all available pages before exploring further.
System Requirements
Before installing Browser Use, verify your system meets these requirements:
Python Version
Python 3.11 or higher is required
Operating Systems
macOS, Linux, Windows (including WSL)
Memory
Minimum 4GB RAM (8GB+ recommended)
Disk Space
~500MB for Browser Use + Chromium
Check Python Version
python --version
# or
python3 --version
If you’re running Python 3.10 or earlier, you must upgrade to Python 3.11+ before installing Browser Use.
Installation Methods
Method 1: Using uv (Recommended)
uv is a fast, modern Python package manager that simplifies dependency management:
Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Create virtual environment
This creates a .venv directory with an isolated Python environment. Activate the environment
source .venv/bin/activate
You should see (.venv) in your terminal prompt.Install Browser Use
uv add browser-use
uv sync
We ship updates daily! Always use the latest version for best performance and newest features.
Install Chromium browser
This downloads a compatible Chromium browser (separate from your system Chrome/Chromium).
Method 2: Using pip
If you prefer traditional pip:
Create virtual environment
Activate environment
source .venv/bin/activate
Install Chromium
python -m browser_use install
Method 3: Install from Source (Development)
For contributors or those who want the absolute latest code:
# Clone the repository
git clone https://github.com/browser-use/browser-use
cd browser-use
# Install with uv
uv sync --all-extras --dev
# Or with pip
pip install -e ".[all]"
# Install Chromium
uvx browser-use install
The development installation includes testing tools, linting, and all optional dependencies.
Optional Dependencies
Browser Use has several optional feature sets you can install:
CLI Features
# Terminal UI for interactive browser control
uv add "browser-use[cli]"
# or
pip install "browser-use[cli]"
Enables the browser-use CLI tool for fast, persistent browser automation:
browser-use open https://example.com
browser-use click 5
browser-use screenshot page.png
Video Recording
# Enable video recording of agent sessions
uv add "browser-use[video]"
# or
pip install "browser-use[video]"
Allows you to record agent sessions as MP4 videos:
browser = Browser(record_video_dir='./recordings')
Cloud Providers
# AWS integration
uv add "browser-use[aws]"
# Oracle Cloud Infrastructure
uv add "browser-use[oci]"
Code Execution
# Jupyter-like code execution for agents
uv add "browser-use[code]"
Enables the CodeAgent for executing Python code:
from browser_use import CodeAgent
agent = CodeAgent(task="Analyze this data with pandas")
All Features
Install everything at once:
uv add "browser-use[all]"
# or
pip install "browser-use[all]"
Browser Installation
Automatic Installation
The recommended way is to use the built-in installer:
uvx browser-use install
# or
python -m browser_use install
This downloads and configures Chromium automatically.
Using System Chrome/Chromium
You can use your system’s Chrome or Chromium installation:
from browser_use import Browser
browser = Browser(
executable_path='/path/to/chrome'
)
executable_path='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
Docker Installation
For containerized deployments:
FROM python:3.11-slim
# Install system dependencies
RUN apt-get update && apt-get install -y \
wget \
gnupg \
&& rm -rf /var/lib/apt/lists/*
# Install Browser Use
RUN pip install browser-use
# Install Chromium
RUN python -m browser_use install
COPY . /app
WORKDIR /app
CMD ["python", "main.py"]
In Docker, Browser Use automatically detects the containerized environment and disables sandboxing (chromium_sandbox=False).
Environment Configuration
API Keys Setup
Create a .env file in your project directory:
Add your API keys based on the LLM provider you’re using:
# Get $10 free credits at https://cloud.browser-use.com/new-api-key
BROWSER_USE_API_KEY=your-key-here
Loading Environment Variables
In your Python code:
from dotenv import load_dotenv
import os
# Load .env file
load_dotenv()
# Access variables
api_key = os.getenv('BROWSER_USE_API_KEY')
Advanced Environment Variables
Optional configuration:
# Disable telemetry (we collect anonymous usage data)
ANONYMIZED_TELEMETRY=false
# Logging level
BROWSER_USE_LOGGING_LEVEL=debug # debug, info, warning, error
# Custom log files
BROWSER_USE_DEBUG_LOG_FILE=./debug.log
BROWSER_USE_INFO_LOG_FILE=./info.log
# Skip automatic logging setup (for MCP or custom logging)
BROWSER_USE_SETUP_LOGGING=false
Verification
Test your installation:
from browser_use import Agent, ChatBrowserUse
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def verify():
print("Testing Browser Use installation...")
agent = Agent(
task="Go to example.com and tell me the page title",
llm=ChatBrowserUse(),
)
history = await agent.run()
print("\n✅ Installation verified!")
print(f"Result: {history.final_result()}")
if __name__ == "__main__":
asyncio.run(verify())
Run it:
You should see a browser window open, navigate to example.com, and print the page title.
macOS
On macOS, Browser Use automatically installs pyobjc to detect screen resolution for optimal browser sizing.
Linux
Install system dependencies for GUI:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y \
libnss3 \
libatk-bridge2.0-0 \
libx11-xcb1 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
libgbm1 \
libasound2
# Fedora/RHEL
sudo dnf install -y \
nss \
atk \
libX11-xcb \
libXcomposite \
libXdamage \
libXrandr \
libgbm \
alsa-lib
For headless Linux servers, use headless=True:
browser = Browser(headless=True)
Windows
Windows Defender or antivirus software may flag Chromium downloads. You may need to add an exception for Browser Use.
If you encounter issues:
- Run terminal as Administrator
- Disable real-time protection temporarily during installation
- Add
C:\Users\YourName\.browser-use to antivirus exclusions
WSL (Windows Subsystem for Linux)
For WSL, you’ll need an X server:
# Install VcXsrv or Xming on Windows
# Then set DISPLAY environment variable
export DISPLAY=:0
# Or run headless
browser = Browser(headless=True)
Updating Browser Use
We ship updates daily with bug fixes and new features.
With uv:
With pip:
pip install --upgrade browser-use
Check your version:
import browser_use
print(browser_use.__version__)
Uninstalling
Remove Browser Use:
# With uv
uv remove browser-use
# With pip
pip uninstall browser-use
Clean up browser data:
# Remove downloaded Chromium and cache
rm -rf ~/.browser-use
# On Windows
rmdir /s %USERPROFILE%\.browser-use
Troubleshooting
Module not found errors
Ensure your virtual environment is activated:
# Should show path to .venv
which python
Chromium fails to launch
Try reinstalling Chromium:
uvx browser-use install --force
Permission denied errors
On Linux/macOS, ensure browser binary is executable:
chmod +x ~/.browser-use/chromium/*/chrome
Import takes too long
Browser Use uses lazy imports. Only imported classes are loaded:
# Fast - only loads Agent
from browser_use import Agent
# Slower - loads all classes
from browser_use import *
SSL/Certificate errors
Never disable security in production. Only use for local testing.
For local development only:
browser = Browser(disable_security=True) # NOT for production!
Next Steps
Quick Start Guide
Build your first agent in 5 minutes
Browser Configuration
Learn all browser customization options
Supported Models
Explore all compatible LLM providers
Examples
Browse 100+ real-world examples