Skip to content

Webwright

Category: Framework

Cost: Free and open-source (MIT license, no paid tier)

Official site: microsoft.github.io/Webwright

GitHub: github.com/microsoft/Webwright

Research blog: Microsoft Research article


What is Webwright?

Webwright is a terminal-first browser agent framework built by Microsoft Research. It gives a language model a terminal where it can launch browser sessions, inspect page states, and complete web tasks by writing reusable Python scripts backed by Playwright Chromium. The persistent artifact is code and logs in the local workspace, not the browser session itself.

Core idea: instead of predicting one click at a time inside a stateful browser, Webwright has the coding model write an instrumented Python script that drives Playwright, then re-runs, inspects, and repairs that script until the task is complete. The final output is a single re-runnable .py file that encodes the full browsing history.

Key properties

  • Approximately 1,500 lines of core code; no multi-agent system, no graph engine, no hidden orchestration
  • Backends: OpenAI, Anthropic, OpenRouter (configured via stackable YAML files)
  • Playwright Chromium as the browser environment
  • Ships a Claude Code plugin, OpenAI Codex plugin, OpenClaw skill, and Hermes Agent skill
  • State-of-the-art on Online-Mind2Web (86.7% with GPT-5.4) and Odysseys long-horizon benchmark (60.1%, +15.6 points over prior SOTA)

Two run modes

ModeCommandOutput
run/webwright:run <task>One-shot final_script.py for the literal task values
craft/webwright:craft <task>Reusable parameterized CLI tool with argparse wrapper

Comparison with other browser agents

Stagehandbrowser-useWebwright
Action spacePlaywright + NL primitivesIndexed DOM click/typeFree-form Python (writes Playwright itself)
StateBrowser sessionBrowser sessionLocal workspace (code, logs, screenshots)
BrowserDisposable sessionPersistentDisposable, spawned by the agent

Safety and ToS notes

Webwright is a local tool driving real browsers with a real user agent. It does not provide proxy rotation or identity management. Use it within the terms of the websites you target. Running it against sites that prohibit automated access is your responsibility.