CDP Mode

Connect to an existing browser via Chrome DevTools Protocol:

# Start Chrome with: google-chrome --remote-debugging-port=9222

# Connect once, then run commands without --cdp
agent-browser connect 9222
agent-browser snapshot
agent-browser tab
agent-browser close

# Or pass --cdp on each command
agent-browser --cdp 9222 snapshot

Remote WebSocket URLs

Connect to remote browser services via WebSocket URL:

# Connect to remote browser service
agent-browser --cdp "wss://browser-service.com/cdp?token=..." snapshot

# Works with any CDP-compatible service
agent-browser --cdp "ws://localhost:9222/devtools/browser/abc123" open example.com

The --cdp flag accepts either:

  • A port number (e.g., 9222) for local connections via http://localhost:{port}
  • A full WebSocket URL (e.g., wss://... or ws://...) for remote browser services

Use cases

This enables control of:

  • Electron apps
  • Chrome/Chromium with remote debugging
  • WebView2 applications
  • Remote browser services (via WebSocket URL)
  • Any browser exposing a CDP endpoint

Global options

OptionDescription
--session <name>Use isolated session
--profile <path>Persistent browser profile directory
-p <provider>Cloud browser provider (browserbase, browseruse)
--headers <json>HTTP headers scoped to origin
--executable-pathCustom browser executable
--args <args>Browser launch args (comma-separated)
--user-agent <ua>Custom User-Agent string
--proxy <url>Proxy server URL
--proxy-bypass <hosts>Hosts to bypass proxy
--jsonJSON output for scripts
--full, -fFull page screenshot
--name, -nLocator name filter
--exactExact text match
--headedShow browser window
--cdp <port|url>CDP connection (port or WebSocket URL)
--debugDebug output

Cloud providers

Use cloud browser infrastructure when local browsers aren't available:

# Browserbase
export BROWSERBASE_API_KEY="your-api-key"
export BROWSERBASE_PROJECT_ID="your-project-id"
agent-browser -p browserbase open https://example.com

# Browser Use
export BROWSER_USE_API_KEY="your-api-key"
agent-browser -p browseruse open https://example.com

# Or via environment variable
export AGENT_BROWSER_PROVIDER=browserbase
agent-browser open https://example.com

The -p flag takes precedence over AGENT_BROWSER_PROVIDER.