Browser Runtime
Demo
Write a goal and get the exact command that runs it, then read what real runs produced. Execution happens on your machine: the runtime drives your browser with your keys, so nothing is sent to mlola.com and no public endpoint can be used to browse the web.
Example prompts
Choose one to load it into the playground. The proven prompts run where their requirements are met; the templates show the shape of a goal for your own application and never resolve as written.
Your prompt
npx @mlola/browser-cli browser run \
--goal "Download my latest invoice" \
--url "http://127.0.0.1:4311/billing" \
--headless --no-human --yes
Providers come from mlola.config.json, .env.local or the shell; check them with mlola browser config show before running. The first run opens its own Agent Window, and a tab of yours is borrowed only with your approval.
What a real run looks like
Output from runs on a developer machine, verbatim.
A real site: fetch a file from ftp.gnu.org
Goal Download the file hello-1.3.tar.gz · URL https://ftp.gnu.org/gnu/hello/


→ NAVIGATE https://ftp.gnu.org/gnu/hello/ ⤓ downloaded hello-1.3.tar.gz ✔ verified: download evidence: 1 event(s), 1 artifactrun completed — verification verified · steps 2 in 3.5sartifacts a1 hello-1.3.tar.gz (unknown, verified)maturity check: 3 runs, 3 completed, 2 steps each, artifact verified every time
Headless Chrome, local fixture
Goal Download my latest invoice · URL http://127.0.0.1:4311/billing
→ NAVIGATE http://127.0.0.1:4311/billing (55ms)step click → 6 (999ms, conf 0.85) ⤓ downloaded invoice-2026-08.pdf (invoice)step done (311ms, conf 0.99) ✔ verified: artifact evidence: a1 invoice-2026-08.pdfrun completed — steps 2 in 3.0s · fast path 100% · $0.0000
Your own Chrome, through the extension
Goal Download my latest invoice · URL http://127.0.0.1:4311/billing
browser your own Chrome via the extension (extension 0.2.5, protocol 1.1)→ NAVIGATE http://127.0.0.1:4311/billing (63ms) ⤓ downloaded invoice-2026-08 (2).pdf (invoice) ✔ verified: artifact evidence: a1 invoice-2026-08 (2).pdfcleanup closedTabs: ["t18","t19"] · returnedTabs: [] · orphanLocks: [] · errors: []
Jev as the fast path, with an OpenRouter key only
Goal Download my latest invoice · URL http://127.0.0.1:4311/billing
decisions 2x openrouter:jev · typesafe/jev-1.13-20260917run completed — verification verified · steps 2 in 3.7sartifacts a1 invoice-2026-08.pdf (invoice, verified)
No TypeSafe key in the environment; --fast openrouter uses the decisions endpoint.
Go further
- Quickstart and configurationTwo provider roles, precedence and the CLI reference.
- demos/README.mdThe use cases each demo proves, and how to add one.
- @mlola/browser-cliThe CLI this page writes commands for.
Want a hosted runner instead? That needs an allowlisted, rate-limited service on our side, and the runtime would no longer use your own logins, so running locally stays the default.