Everything you need to test a browser in plain English

BrowserBash turns a plain-English objective into real browser actions through an AI agent — no code, no selectors. It runs on free local models with zero API keys, drives real browsers, and fits straight into your test suite and CI.

Write tests the way you’d describe them

Plain-English objectives

Describe what you want — “log in and add the first product to the cart” — and the agent figures out the clicks and typing. No CSS selectors, no XPath, no code to maintain.

Markdown test files

Save your scenarios as readable *_test.md files and compose them with @import, so shared setup and reusable flows stay in one place across your whole suite.

Variables & secret masking

Template values into your tests with variables, and pass credentials as secrets that are automatically masked in logs and output — so nothing sensitive leaks into your run history.

Run it anywhere, for free

Free models, zero keys

Run on free local models with Ollama or free models on OpenRouter — no API keys, no credit card. Want more power? Bring your own Anthropic or OpenRouter key whenever you like.

Real browsers & providers

Drive a real local Chrome, any CDP endpoint, or cloud grids like Browserbase, LambdaTest, and BrowserStack — the same test runs everywhere, from your laptop to a remote browser farm.

Open source & free

BrowserBash is free and open source under Apache-2.0. Install with npm install -g browserbash-cli, read the source, and audit exactly what it does.

Built as a validation layer for AI agents

MCP server

browserbash mcp plugs into Claude Code, Cursor, Codex or any MCP host with one line and exposes three tools: run an objective, run a test file, run a suite. Your coding agent validates its own work in a real browser.

Deterministic assertions

Verify steps compile to real Playwright checks — URL, title, visible text, element counts, stored values. A pass means the condition held; a fail ships expected-vs-actual evidence. No model judgment.

API steps (testmd v2)

Seed data over plain HTTP, then verify through the UI: POST /api/seed, Expect status 201, store $.id as 'order_id'. Arrange-act-assert in one readable Markdown file, per-step execution on one browser session.

Saved logins

browserbash auth save staging captures a login session once; --auth staging reuses it in every run, suite and monitor. No more re-login per test or rate-limit walls in CI.

Monitoring & alerts

browserbash monitor --every 10m --notify <webhook> turns any test into a production check. Alerts fire on pass/fail state changes only — Slack formatting detected automatically.

Budgets & cost

Every run reports an estimated cost_usd; suites take --budget-usd and hard-stop when spend crosses it — remaining tests reported as skipped, never a surprise bill.

Import your Playwright suite

browserbash import ./e2e converts specs to plain-English tests deterministically and writes everything it could not translate to an honest import report for your review.

Record a flow once

browserbash record <url> opens a real browser; click through the journey and get a committable test file. Password values never leave the page.

Shard & matrix

--shard 2/4 splits a suite deterministically across CI machines; --matrix-viewport runs every test per viewport with labeled results in JUnit and NDJSON.

Ship it into CI and see every run

Agent mode & CI

Stream structured NDJSON output for tooling and agents, and rely on clean CI exit codes (0/1/2/3) to gate your pipeline on real pass/fail signals.

Session recording

Add --record to capture video and screenshots of a run, so you can see exactly what the agent did and share a clear repro when something breaks.

Local dashboard

Run the dashboard command to open a free, fully local web dashboard — browse your runs on your own machine, no account and nothing uploaded.

Cloud dashboard

Create a free account to keep run history, video recordings, and per-run replay in the cloud. Link the CLI with browserbash connect and upload a run with --upload.

Start automating in plain English

Install the open-source CLI and run your first test in minutes — no API keys, no credit card.

npm install -g browserbash-cli