Microsoft's Webwright gives LLMs a terminal instead of a browser harness
Webwright exists because forcing a coding model to click one button at a time is a bottleneck; instead, it gives the model a terminal to write and debug Playwright scripts.
What it does
Webwright is a ~1,500-line Python framework that hands an LLM a terminal and a Playwright-controlled browser. The model writes Python scripts to interact with web pages, inspects screenshots only when necessary, and iterates on code until the task is done. Every run produces a single, rerunnable Python file that serves as the browsing history, with trajectories and screenshots written to disk.
The interesting bit
The architecture inverts the usual “browser-as-state” paradigm: the browser session is disposable, while the local workspace—code, logs, and screenshots—is the persistent artifact. This “code-as-action” approach reportedly beats coordinate-prediction baselines by wide margins on long-horizon benchmarks, and the generated scripts can be packaged as reusable CLI tools.
Key highlights
- Minimal footprint: the core agent loop is roughly 450 lines, the Playwright environment ~570 lines, and each model backend (OpenAI, Anthropic, OpenRouter) another ~150–200 lines.
- SOTA claims on real-website benchmarks: 86.7% on Online-Mind2Web (300 tasks) with GPT-5.4 and 60.1% on the 200-task Odysseys long-horizon suite, which the authors say is +15.6 points over the prior best.
- Pluggable as a skill for Claude Code, Codex, OpenClaw, and Hermes via a shared
skills/webwright/folder. - Ships with a tiny Flask dashboard for curating repeatable tasks into generic HTML reports.
- No hidden orchestration, no graph engine, no multi-agent system—just
httpx,pydantic,playwright, andtyper.
Verdict
Grab this if you want a hackable, transparent foundation for browser automation and are tired of opaque agent orchestration platforms. Skip it if you need a managed, no-code browser agent or a polished SaaS abstraction.
Frequently asked
- What is microsoft/Webwright?
- Webwright exists because forcing a coding model to click one button at a time is a bottleneck; instead, it gives the model a terminal to write and debug Playwright scripts.
- Is Webwright open source?
- Yes — microsoft/Webwright is open source, released under the MIT license.
- What language is Webwright written in?
- microsoft/Webwright is primarily written in Python.
- How popular is Webwright?
- microsoft/Webwright has 5.8k stars on GitHub and is currently cooling off.
- Where can I find Webwright?
- microsoft/Webwright is on GitHub at https://github.com/microsoft/Webwright.