Cua Bench is an MIT-licensed framework for computer-use benchmarks and reinforcement-learning environments. It packages the task, starting state, agent interface, and evaluator needed to run repeatable experiments across Linux, Windows, macOS, Android, browser, or simulated environments. The result is a single platform for scoring agents, producing training data, and validating new tasks before they enter a dataset.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.
What Cua Bench provides
Every benchmark experiment is built from four composable pieces:- Tasks define the natural-language prompt, setup procedure, task variants, and the evaluator that checks whether the agent succeeded.
- Providers supply the environment where the task runs — a lightweight simulated desktop, a Docker container, a VM, or a hosted cloud computer.
- Agent adapters translate model or agent output into the action interface the environment understands.
- The runner executes one task or an entire dataset, records traces, and supports parallel workers for throughput.
Supported benchmarks and datasets
Cua Bench ships adapters and task collections for several well-known evaluation suites alongside its own built-in datasets:OSWorld
Cross-platform desktop task benchmark for GUI agents on Linux, macOS, and Windows.
ScreenSpot
Grounding benchmark that tests an agent’s ability to locate UI elements from a natural-language description.
Windows Arena
Windows-native task suite covering productivity applications and OS-level interactions.
Custom tasks
Write your own tasks in Python and group them into datasets using the built-in scaffolding tools.
The cb CLI
The Cua Bench CLI is available as cb after installation. It is the single entry point for every operation — creating tasks, running datasets, inspecting traces, and managing environments.
run, interact, task, trace, dataset, image, and agent.
Trajectory export for training
Every run produces a trajectory: the sequence of observations and actions the agent took, together with the evaluator’s reward signal. Trajectories are stored in the output directory you specify and can be loaded directly for reinforcement-learning or supervised fine-tuning pipelines.Parallel execution
Pass--max-parallel to any cb run command to distribute tasks across concurrent workers. The runner manages worker lifecycle, assigns tasks from the dataset queue, and aggregates results after all workers finish.
Installation
Install Cua Bench from thelibs/cua-bench directory in the Cua monorepo using uv:
browser extra and install the Playwright browser:
Python 3.12 or 3.13 is required. The
uv package manager is recommended because Cua Bench’s development workflow assumes it, but pip install -e . inside a virtual environment also works.Relationship to the rest of Cua
Cua Bench supplies the task and evaluation layer. Cua computer and sandbox components supply machine environments, while agent adapters translate model output into computer actions. The resulting trajectory can be inspected, scored, or exported as training data without changing any evaluation code.Getting Started
Install Cua Bench, run your first dataset, and inspect the output.
Tasks
Learn how tasks are structured and write a custom one in Python.
Run Benchmark
Explore every flag the
cb run command supports.GitHub source
Read the package, task examples, CLI implementation, and test suite.