Plain English in.
Real browser out.

BrowserBash is open-source natural language browser automation — an AI browser testing CLI where an agent drives a real browser from a plain-English objective. Run test automation on local Chrome, LambdaTest, BrowserStack, Browserbase or any CDP endpoint — Ollama-first, zero API keys required.

$ npm install -g browserbash-cli

Free, no card. The CLI runs fully local with zero signup — create an account only for the dashboard: run history, recordings and a per-run replay. Cloud runs are kept 15 days on the free plan.

Watch a run, line by line

One objective in, NDJSON events out — the same stream your CI and AI agents consume.

browserbash
$ browserbash run "Open https://news.ycombinator.com and store the top story title as 'top_story' and its points as 'points'" --agent --headless

Pick an objective, watch Bo work

Replays of real CLI output. Copy any command and run it on your machine — that's the whole product.

Three layers, all swappable

1 · Provider

Where does the browser run?

  • local — your Chrome (default)
  • cdp — any DevTools endpoint
  • browserbase — cloud browsers
  • lambdatest — TestMu grid
  • browserstack — Automate grid

2 · Engine

Who interprets the English?

  • stagehand — MIT OSS by Browserbase (default)
  • builtin — Anthropic tool-use loop, auto-selected for cloud grids

3 · LLM

Who does the thinking?

  • Ollama first — local, free, no keys
  • Anthropic / OpenAI / Google via flags
  • Any OpenAI-compatible server (vLLM, LM Studio)
The fully-free stack is the default.ollama pull qwen3 && browserbash run "…"Stagehand (MIT) + local Chromium + Ollama — zero cloud cost, no API keys.

Built for agents and CI, friendly to humans

Open source first

Apache-2.0 CLI on an MIT engine. The default path costs nothing and phones no one.

--agent NDJSON mode

One JSON event per line on stdout. Exit codes 0/1/2/3 are the verdict — no prose parsing.

Markdown tests

Committable *_test.md files with @import composition. Result.md written after every run.

5 providers, one flag

Same objective runs on local Chrome or a cloud grid with --provider. Adding a vendor is one file.

Secrets stay secret

Variables marked secret are masked as ***** in every log line, remark and summary.

CI-ready verdicts

GitHub Actions recipe included. The process exit code is the test result.

No account. No meter. No lock-in.

Other AI browser tools want a signup, a credit balance, or their cloud. BrowserBash wants an objective.

Zero signup to run

npm install and automate in sixty seconds — no account needed for the CLI. A free dashboard account is optional, for run history and recordings.

Open source all the way down

Apache-2.0 with the full agent loop in the repo. Read it, fork it, fix it — not just the README.

Your models, your machine

Local Ollama by default — free, private, unmetered. Or bring an Anthropic or OpenRouter key and swap models with one flag.

Cloud-neutral by design

Browserbase, LambdaTest, BrowserStack or your own Chrome. Use the grid your team already pays for.

Private by default

Runs never leave your machine unless you add --upload. Nothing phones home on its own.

Built for CI, not demos

Natural-language E2E test automation with exit codes your pipeline already understands.

Ninety seconds to your first run

# install
npm install -g browserbash-cli

# free local stack (or set ANTHROPIC_API_KEY)
ollama pull qwen3

# go
browserbash run "Open https://news.ycombinator.com and store the top story title as 'top_story'"

# agent mode for CI / AI tools
browserbash run "…" --agent --headless --timeout 120