open source · apache-2.0
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-cliclick Bo · he bashes browsers
demo
Watch a run, line by line
One objective in, NDJSON events out — the same stream your CI and AI agents consume.
try it
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.
how it works
Three layers, all swappable
1 · Provider
Where does the browser run?
local— your Chrome (default)cdp— any DevTools endpointbrowserbase— cloud browserslambdatest— TestMu gridbrowserstack— 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)
ollama pull qwen3 && browserbash run "…"Stagehand (MIT) + local Chromium + Ollama — zero cloud cost, no API keys.features
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.
why browserbash
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.
quick start
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