Cua Bench is an MIT-licensed framework for computer-use benchmarks and reinforcement-learning environments. It packages the task definition, starting state, agent interface, and evaluator needed to run a repeatable experiment — across Linux, Windows, Android, browser, or simulated desktops. A computer-use score is meaningful only when the starting state and success condition are reproducible; that is the problem Cua Bench solves.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/trycua/cua/llms.txt
Use this file to discover all available pages before exploring further.
Why tasks are environments
A benchmark task is not just a prompt. A Cua Bench task defines:- The prompt — what the agent is asked to do
- The starting state — what the computer looks like before the agent acts
- Setup — code that prepares the environment for each run
- Variations — different inputs or conditions that test the same objective
- Oracle solution — a reference implementation that correctly solves the task
- Evaluator — task-specific checks that score the final state
How the pieces fit
- Tasks define the prompt, setup, variations, and evaluator.
- Providers supply the environment: a browser, a simulated surface, a Docker container, a VM, or a hosted computer.
- Agent adapters connect a model or agent implementation to the environment interface.
- The runner executes one task or a full dataset, records trajectories, and supports parallel workers.
Task lifecycle
A single Cua Bench task execution follows this lifecycle:Setup
The setup function runs and prepares the environment. This may install applications, seed files, configure system state, or start services. Each variation can have its own setup parameters.
Observation
The agent adapter receives the initial observation — a screenshot, an accessibility tree, or both — along with the task prompt.
Act
The agent takes actions against the environment (clicks, typing, shell commands) until it decides the task is complete or a step budget is exhausted.
Evaluate
The evaluator inspects the final state and returns a reward score between
0.0 and 1.0. A score of 1.0 means the task was completed correctly.Supported benchmarks
Cua Bench ships adapters for several established computer-use benchmarks:OSWorld
A large-scale benchmark with tasks across Windows, macOS, and Ubuntu desktop environments. Covers web browsers, office apps, file management, and coding tools.
ScreenSpot
A grounding benchmark that tests whether a model can locate UI elements from natural language descriptions. Covers mobile, desktop, and web screenshots.
Windows Arena
A benchmark for Windows desktop automation. Tasks require multi-step reasoning across Windows applications with verifiable outcomes.
Custom tasks
Define your own tasks with any environment, prompt, and evaluator. Publish them to the task registry for others to use.
The reinforcement-learning environment interface
Cua Bench exposes an RL environment interface compatible with standard training loops. Each step returns:- observation — screenshot bytes, accessibility tree, or both
- reward — a float from the task’s evaluator
- done — whether the episode has ended
- info — metadata including timing, step count, and evaluator details
Running a dataset with an agent
Relationship to the rest of Cua
Cua Bench supplies the task and evaluation layer. Cua Sandbox components supply machine environments — containers, VMs, and hosted computers — while agent adapters translate model output into computer actions.Further reading
First Bench task tutorial
Scaffold a task, run the oracle, and evaluate your own attempt — no Docker needed.
Task registry
Browse published tasks and the applications they cover.
Run a task
Run, inspect, and validate existing tasks from the registry.
Task definition reference
Complete specification for task setup, variations, oracle, and evaluator functions.