Browserbase CLI
Use the official bb CLI for Browserbase platform operations, Functions workflows, and Fetch API calls.
Setup check
Before using the CLI, verify it is installed:
which bb || npm install -g @browserbasehq/cli
bb --help
For authenticated commands, set the API key:
export BROWSERBASE_API_KEY="your_api_key"
If using bb functions dev or bb functions publish, also set:
export BROWSERBASE_PROJECT_ID="your_project_id"
When to use this skill
Use this skill when the user wants to:
- run Browserbase commands through
bb - scaffold, develop, publish, or invoke Browserbase Functions
- inspect or manage Browserbase sessions, projects, contexts, or extensions
- fetch a page through Browserbase without opening a browser session
- search the web through Browserbase without opening a browser session
- open the Browserbase dashboard from the terminal
When not to use this skill
- For interactive browsing, page inspection, screenshots, clicking, typing, or login flows, prefer the
browserskill. - For simple HTTP content retrieval where the user does not care about using the CLI specifically, the dedicated
fetchskill is often a better fit. - Use
bb browse ...only when the user explicitly wants the CLI wrapper or is already working in abb-centric workflow.
Command selection
bb functionsfor local dev, packaging, publishing, and invocationbb sessions,bb projects,bb contexts,bb extensionsfor Browserbase platform resourcesbb fetch <url>for Fetch API requestsbb search "<query>"for Search API requestsbb dashboardto open Browserbase Overview locallybb browse ...to forward to the standalonebrowsebinary (requires@browserbasehq/browse-cli)bb skills installto install Browserbase agent skills for Claude Code
Common workflows
Functions
bb functions init my-function
cd my-function
bb functions dev index.ts
bb functions publish index.ts
bb functions invoke <function_id> --params '{"url":"https://example.com"}'
Use bb functions invoke --check-status <invocation_id> to poll an existing invocation instead of creating a new one.
Platform APIs
bb projects list --json
bb sessions get <session_id> --json
bb sessions downloads get <session_id> --output session-artifacts.zip
bb contexts create --body '{"region":"us-west-2"}' --json
bb extensions upload ./my-extension.zip --json
Fetch API
bb fetch https://example.com --json
bb fetch https://example.com --allow-redirects --output page.html
Search API
bb search "browser automation" --json
bb search "web scraping" --num-results 5 --json
bb search "AI agents" --output results.json
Dashboard
bb dashboard
Best practices
- Prefer
bb --helpand subgroup--helpbefore guessing flags. - Use dash-case flags exactly as shown in CLI help.
- Prefer
--jsonwhen the result may need follow-up parsing. - Use environment variables for auth unless the user explicitly wants one-off overrides.
- Pass structured request bodies with JSON strings in
--bodyor--params. - Remember that
bb functions ...uses--api-url, while platform API commands use--base-url. - If
bb browsefails becausebrowseis missing, either install@browserbasehq/browse-clior switch to thebrowserskill.
Troubleshooting
- Missing API key: set
BROWSERBASE_API_KEYor pass--api-key - Missing project ID on
bb functions devorbb functions publish: setBROWSERBASE_PROJECT_IDor pass--project-id - Unknown flag: rerun the relevant command with
--helpand use the exact dash-case form bb browseinstall error: runnpm install -g @browserbasehq/browse-cli
For command-by-command reference and more examples, see REFERENCE.md.