Build shared computer environments where agents operate real desktops
You can create scenarios where agents go beyond executing code or calling APIs to move the mouse and type on a real screen to complete tasks. Cua is an open-source project that bundles multiple computers owned by users into a single supercomputer-like environment shared by agents and teams. It contains the elements needed for Computer-Use scenarios, including desktop automation drivers, local virtual machines, and benchmarks.
Turning your computer into an agent workspace
Cua Spaces is a macOS desktop app that turns your Mac or cloud server into a 'Space,' an independent desktop environment usable by agents. Each Space can be a macOS virtual machine running locally or a Linux image, with status visible in the menu bar and notch area. The 'Teleport' feature moves logged-in apps like Chrome or Slack into a Space, allowing them to open with existing sessions preserved. Session information is stored encrypted on the Mac and transferred to the Space only after user approval. It also supports multiplayer functionality, allowing team members or agents to work simultaneously on the same desktop with their own cursors.
How agents manipulate apps
Cua Driver provides tools to inspect and manipulate native desktop apps and browsers on macOS, Windows, and Linux. Agents connect to this driver via CLI, MCP, or a typed SDK to view the screen and send mouse and keyboard inputs. On platforms supporting Background delivery, agents can perform tasks without moving the user's pointer or stealing app focus. You can verify the agent's manipulation process through a simple tutorial that checks if the calculator app displays 42 as the result of multiplying 6 by 7. It can also be used to select cells or objects in complex apps like LibreOffice Calc or Inkscape.
Local virtual machines and sandbox management
Lume is a tool for creating and managing local macOS and Linux virtual machines on Apple Silicon-based Macs using Apple's Virtualization.Framework. It automates the process of creating a macOS Tahoe VM from an Apple recovery image and connecting via SSH. Using the cua CLI and SDK, you can quickly create and run sandboxes with gVisor containers or local runtimes. Sandboxes can be controlled via in-process or shared daemon methods through Python, TypeScript, and Rust SDKs, and can be run directly without an agent. The cua host setup command configures the machine to be accessible from other computers without port forwarding.
Models and benchmarks
CUA-S1 is a family of small 'System 1' models specialized for computer use. This is an engineering metaphor focused on fast, limited decisions, such as choosing which value to enter in a field or deciding whether to leave an element as is. The first research profile focuses on Form, scoring decisions based on structured interface elements and document values. Cua Bench is a benchmark tool that creates computer use tasks, evaluates agents, and exports training trajectories. You can create simulated tasks and verify if the evaluator reports a reward of 1.0 without a VM, Docker, or model API key. Python 3.12 or 3.13 and uv must be installed.
License and pre-use checks
Most of this repository follows the MIT license, but Cua Spaces and Cua Driver Bench are subject to the FSL-1.1-MIT license. FSL-1.1-MIT is a source-available license that allows free use, self-hosting, and building under the condition that you do not provide it as a hosting service or create a competing hosting service; it converts to MIT after two years of release. The Cua Spaces app can only be installed on macOS 26 or later, with personal use free, Pro at $18 per month, and Teams at $30 per seat per month. Swift and Kotlin bindings have not yet been released, and some subdirectories may have their own licenses, so you must check LICENSING.md. Additionally, the cua-perception extension may include the AGPL-3.0 license, requiring caution during redistribution.