microsoft/CUAWright

A simple SWE-style browser+desktop agent framework that achieves SOTA results on long-horizon CUA tasks

What it solves

CUAWright provides a unified interface for coding models to automate both web browsers and desktop applications. It moves away from the traditional "step-by-step" interaction loop where an agent predicts a single action at a time, instead treating the browser or desktop as an environment that a coding agent can launch, program, and debug via a terminal.

How it works

CUAWright gives an LLM a terminal to write and execute free-form Python scripts (using Playwright for the web) or run OS commands in an Ubuntu VM (for desktop tasks). The agent iterates by writing code, executing it, inspecting screenshots and logs, and repairing the code until the task is complete. This "code-as-action" approach allows the agent to create reusable, parameterized scripts rather than fragile, one-off interactions.

Who it’s for

It is designed for developers building browser-using agents or those wanting to integrate browser/desktop automation capabilities into existing coding agents like Claude Code, Codex, or Hermes.

Highlights

  • Unified Interface: Supports both web automation via Playwright and desktop automation in Ubuntu VMs.
  • Code-Centric Paradigm: Agents write and debug scripts in a local workspace, making the browser session disposable and the code the persistent artifact.
  • Skill Factory: Can distill solved tasks into reusable, verified, and parameterized Python scripts that can be run standalone without an LLM.
  • Plugin Support: Ships with manifests for Claude Code and OpenAI Codex, allowing these agents to use CUAWright as a skill.
  • High Performance: Demonstrates improved accuracy and reduced API costs on benchmarks like OSWorld-V2 and Online-Mind2Web.

Related

  • Project
  • Project
  • Project
  • Project