Launches a new Chrome with a fresh, dedicated profile
Automated tasks, CI/CD, headless, no user data needed
Extension
Connects to the user’s running Chrome via extension bridge
Tasks requiring existing login sessions, cookies, personal context
Both modes are designed for AI agents. Isolated gives agents a clean, reproducible environment. Extension lets agents operate inside the user’s real browser — ideal when the task requires existing authentication (e.g., “book my flight”, “reply to that email”).
The recommended way to set your preferred browser mode is via actionbook setup.
It writes your choice to ~/.actionbook/config.toml, so you can run browser commands without extra flags.
[browser]# Use "isolated" (default) or "extension"mode = "extension"[browser.extension]# Auto-install local debug fallback when Web Store install is unavailableauto_install = true
Once configured, all browser commands will automatically use your chosen mode:
# No flags needed - uses configured modeactionbook browser open "https://example.com"actionbook browser click "button[type='submit']"
In current extension mode, bridge communication uses fixed 127.0.0.1:19222.
Works out of the box — no setup required. The CLI launches a temporary Chrome process with a dedicated profile and connects via CDP.
# If isolated is your default mode (or not configured)actionbook browser open "https://example.com"actionbook browser click "button[type='submit']"actionbook browser fill "actionbook" "#search"actionbook browser screenshot output.png
actionbook browser click "button[type='submit']"actionbook browser fill "demo" "#username"actionbook browser type "hello" "#search" # append text (does not clear)actionbook browser select "#country" "US"actionbook browser hover ".menu-item"actionbook browser focus "#search-input"actionbook browser press "Enter"actionbook browser hotkey "Control+A" # keyboard shortcutsactionbook browser scroll down 500 # scroll by pixelsactionbook browser wait "#username" --timeout 10000actionbook browser wait-idle # wait for network idle [CDP]actionbook browser wait-fn "document.readyState === 'complete'"
Use --ref with click, type, or fill to target elements by snapshot ref (e.g., --ref e5) instead of CSS selectors.
Add --human to click or type for human-like mouse movement and typing delays.
# Cookiesactionbook browser cookies listactionbook browser cookies get session_idactionbook browser cookies set demo_cookie helloactionbook browser cookies delete demo_cookieactionbook browser cookies clear --domain example.com --yes# Local/Session Storageactionbook browser storage listactionbook browser storage get myKeyactionbook browser storage set myKey "myValue"actionbook browser storage remove myKeyactionbook browser storage clear
actionbook browser tab list # list all tabsactionbook browser tab active # show current tabactionbook browser tab new # open a new blank tabactionbook browser tab switch <id> # switch to tab by IDactionbook browser tab close <id> # close a tab by ID
For running parallel tasks across multiple tabs, use Multi-Session with the -S flag instead of manual tab switching.
Available since v0.11.0. Requires isolated mode (default).
Multi-session lets you run multiple independent tabs in a single browser instance. Each named session is bound to its own tab — commands sent to one session never affect another.
# Open three sites in separate sessionsactionbook browser open "https://arxiv.org" -S researchactionbook browser open "https://x.com" -S socialactionbook browser open "https://amazon.com" -S shopping# Each session operates independentlyactionbook browser snapshot -S research # only sees arxiv.orgactionbook browser snapshot -S social # only sees x.comactionbook browser click "#search" -S shopping # only affects amazon.com
Without -S, all commands share a single default session.
# List all active sessionsactionbook browser session list# Show which session is currently activeactionbook browser session active# Destroy a session (closes its tab)actionbook browser session destroy research
Don’t create multiple profiles or ports for parallel tabs. Use -S instead.
❌ Creating separate profiles with different ports
# WRONG — wasteful, launches 3 Chrome instancesactionbook profile create work --cdp-port 9301actionbook profile create work --cdp-port 9302actionbook profile create work --cdp-port 9303
# ✅ CORRECT — one browser, three sessionsactionbook browser open "https://arxiv.org" -S researchactionbook browser open "https://x.com" -S socialactionbook browser open "https://amazon.com" -S shopping
❌ Using --browser-mode isolated per site
# WRONG — each command launches a new isolated Chromeactionbook browser open "https://arxiv.org" -P work --browser-mode isolatedactionbook browser open "https://x.com" -P work --browser-mode isolatedactionbook browser open "https://amazon.com" -P work --browser-mode isolated
# ✅ CORRECT — one browser, named sessions for isolationactionbook browser open "https://arxiv.org" -P work -S researchactionbook browser open "https://x.com" -P work -S socialactionbook browser open "https://amazon.com" -P work -S shopping
❌ Running snapshot without session distinction
# WRONG — all three snapshots see the same (last opened) tabactionbook browser snapshot -P workactionbook browser snapshot -P workactionbook browser snapshot -P work
# ✅ CORRECT — each snapshot targets a specific sessionactionbook browser snapshot -P work -S researchactionbook browser snapshot -P work -S socialactionbook browser snapshot -P work -S shopping