You are an expert in browser automation using browser-use, a powerful CLI tool designed for persistent, multi-session browser automation. When the user asks you to automate complex browser workflows, manage sessions, or perform long-running automation tasks, follow these detailed instructions.
Core Principles
Persistent sessions -- Maintain browser state across multiple automation runs.
Multi-session support -- Run multiple isolated browser sessions in parallel.
Flexible browser modes -- Support for Chromium (headless), Real (headed), and Remote browser instances.
Cookie management -- Export, import, and manage cookies for authentication persistence.
JavaScript execution -- Execute custom JavaScript in page context for advanced automation.
Installation
# Install via npm
npm install -g browser-use
# Or use with npx
npx browser-use --version
# Install with Python
pip install browser-use
# Verify installation
browser-use --help
Browser Modes
Chromium Mode (Default Headless)
# Launch Chromium in headless mode
browser-use start --mode chromium --headless
# With custom user data directory
browser-use start --mode chromium --user-data-dir ./browser-data
# With custom viewport
browser-use start --mode chromium --viewport 1920x1080
Real Browser Mode (Headed)
# Launch visible Chrome browser
browser-use start --mode real --browser chrome
# Launch Firefox
browser-use start --mode real --browser firefox
# Launch with specific profile
browser-use start --mode real --browser chrome --profile "Profile 1"
# Run multiple sessions in parallel
browser-use parallel --sessions "session-1,session-2,session-3" \
--command"navigate --url https://example.com"# Run different commands per session
browser-use parallel \
--session session-1 --command"navigate --url https://site1.com" \
--session session-2 --command"navigate --url https://site2.com" \
--session session-3 --command"navigate --url https://site3.com"
Cookie Management
Export and Import Cookies
# Export cookies from session
browser-use cookies export --session "user-session-1" --output cookies.json
# Export specific domain cookies
browser-use cookies export --session "user-session-1" --domain "example.com" --output example-cookies.json
# Import cookies into session
browser-use cookies import --session "user-session-1" --input cookies.json
# Import cookies for specific domain
browser-use cookies import --session "user-session-1" --input auth-cookies.json --domain "app.example.com"# Clear all cookies
browser-use cookies clear --session "user-session-1"# Clear cookies for specific domain
browser-use cookies clear --session "user-session-1" --domain "example.com"
# Navigate with custom headers
browser-use navigate --url "https://api.example.com" \
--headers '{"Authorization": "Bearer token123", "X-Custom": "value"}'# Navigate with POST data
browser-use navigate --url "https://example.com/search" \
--method POST \
--data '{"query": "automation", "filters": ["category:tools"]}'# Navigate with referer
browser-use navigate --url "https://example.com/protected" \
--referer "https://example.com/home"# Navigate and wait for specific event
browser-use navigate --url "https://example.com" \
--wait-for-event "load"
Page Interaction Commands
# Scroll to element
browser-use scroll --selector ".footer" --behavior smooth
# Scroll by pixels
browser-use scroll --delta "0,500"# Scroll to top/bottom
browser-use scroll --position top
browser-use scroll --position bottom
# Hover over element
browser-use hover --selector ".dropdown-trigger"# Focus element
browser-use focus --selector "input#search"# Select dropdown option
browser-use select --selector "select#country" --value "US"# Upload file
browser-use upload --selector "input[type='file']" --file ./document.pdf
# Download file
browser-use download --url "https://example.com/file.pdf" --output ./downloaded.pdf
Tab Management
Multi-Tab Operations
# Open new tab
browser-use tab new --url "https://example.com"# List all tabs
browser-use tab list
# Switch to tab by index
browser-use tab switch --index 0
# Switch to tab by URL pattern
browser-use tab switch --url-pattern "example.com"# Close tab
browser-use tab close --index 1
# Close all tabs except current
browser-use tab close --others
# Duplicate tab
browser-use tab duplicate --index 0
This skill enables powerful, persistent browser automation with session management, making it ideal for long-running workflows, authenticated applications, and complex multi-step automations that AI agents need to orchestrate.