← all repositories
microsoft/Webwright

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.

5.8k stars Python AgentsCoding Assistants
Webwright
Velocity · 7d
+3.0
★ / day
Trend
cooling
star history

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, and typer.

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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.