Skip to main content

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.

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.

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.
This separation means the same task definition can run against different agents and infrastructure without changing evaluation logic.

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.
cb --help
You should see command groups including 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.
cb run dataset datasets/cua-bench-basic \
  --agent cua-agent \
  --max-parallel 4

Installation

Install Cua Bench from the libs/cua-bench directory in the Cua monorepo using uv:
cd cua/libs/cua-bench
uv tool install -e .
To include browser support for simulated tasks, add the browser extra and install the Playwright browser:
uv tool install -e '.[browser]'
uv tool run --from 'cua-bench[browser]' playwright install chromium
Confirm the installation succeeded:
cb --help
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.

Build docs developers (and LLMs) love