Skip to content

[ commentary ]

CUAWright writes programs instead of clicking

Microsoft's CUAWright gives browser and desktop agents a terminal, so a task becomes a script that can be rerun and verified.

Published · on microsoft.github.io · 2 min read

Microsoft's CUAWright gives browser and desktop agents a terminal, so a task becomes a script that can be rerun and verified.

Microsoft has published CUAWright, a minimal unified interface for browser and desktop agents, on microsoft.github.io. The model gets a terminal, writes code that drives a browser or an Ubuntu desktop, checks the result, and keeps its work on disk. The page describes it as a small loop extended from an earlier browser-only project, Webwright, to the desktop.

The design choice is that code is the action. A form, a date picker or a spreadsheet edit becomes a short program with loops and checks, rather than a long chain of clicks. The workspace is the state: scripts, logs and screenshots stay on disk, so the agent can restart a browser and retry without losing progress. And done means verified — text alone never finishes a task. Browser runs rerun a final script; desktop runs end with an explicit submit command.

67.9% on OSWorld-V2, $9.5 less per task

The page reports 67.9% on OSWorld-V2, which it describes as 5.2 points above GPT-5.6 Sol alone, and 88.1% on Online-Mind2Web, 4.7 above a GUI agent. It also lists a saving of $9.5 in API cost per task on OSWorld-V2 with GPT-5.6 Sol. Each row compares CUAWright with the best existing harness running the same model, so the comparison is between harnesses rather than between models. The page does not explain why the scores or the cost differ.

What is deliberately absent is also part of the design: no tools except run_command in a terminal, no screenshot on every step by default, no multi-agent orchestration, no human-engineered retrieval or memory system. The agent builds the rest as it works. A solved browser task leaves a reusable final_script.py, and the runtime works with OpenAI, Anthropic and OpenRouter backends, plus a plugin for Claude Code, Codex and Hermes.

For work that lives inside a web portal or a desktop application — pulling figures out of a supplier file, filling a form, moving a request through an approval step — the reusable script is the concrete change. A task that succeeds once leaves a program that can be rerun in a fresh folder, which is a different proposition from a recorded sequence of clicks.

Source: microsoft.github.io — BARGO’s commentary on the linked source.

Which task costs your team the most hours every week? Tell us, and we will tell you whether AI can take it and what it would cost.

← all posts · RSS