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

Watch a run, line by line

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

browserbashpreview
$ browserbash run "Open https://news.ycombinator.com and store the top story title as 'top_story'" --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.

No signup, ever

npm install and you are automating in sixty seconds. No login command, no credits, no dashboard upload.

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 point them at a cloud. Nothing phones home.

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