Agents that look at screens and click buttons is already well known. But that approach has fundamental limitations.
Screen reading requires agents to look at pixels, identify UI elements, and move the mouse. It's slow, fragile, and breaks accessibility.
Cua solves this with Computer-Use 2.0 — infrastructure that lets agents communicate directly with native apps instead of looking at pixels.
Computer-Use 1.0 vs 2.0
Computer-Use 1.0 (Screen-based):
┌─────────────┐
│ Desktop │ ← Agent reads pixels
└─────────────┘
↑↓ Screenshot
┌─────────────┐
│ Agent Model │ ← "Click this button"
└─────────────┘
↑↓ Mouse movement
┌─────────────┐
│ Desktop │ ← Click executes
└─────────────┘
Problems: Slow, fragile, breaks accessibility
Computer-Use 2.0 (Native-based):
┌─────────────┐
│ Agent │ ← API calls
└─────────────┘
↑↓ Cua Driver (API)
┌─────────────┐
│ Native Apps │ ← Direct manipulation
└─────────────┘
Advantages: Fast, stable, accessibility-friendly
Five Components of Cua
Cua is not a single product — it's a combination of multiple components.
1. Cua Spaces — Desktops for Agents
Provides dedicated desktop environments where agents can work.
Local: macOS VM (Virtualization.Framework)
Remote: Linux / Omarchy (servers managed by Cua)
Agents work in isolated spaces without interfering with the user's actual desktop. The Background Delivery Mode lets agents complete tasks in the background without moving the user's cursor.
2. Cua Driver — Native App Automation
Inspects and manipulates native apps on macOS, Windows, and Linux.
What Cua Driver provides:
├── UI element tree (Accessibility API)
├── Click, type, scroll
├── Menu manipulation
└── State reading (active app, window title, etc.)
Instead of taking screenshots and doing OCR, it reads UI element names, roles, and states directly through the Accessibility API. This is much faster and more accurate.
3. Lume — Local Virtual Machines
Creates macOS and Linux VMs on Apple Silicon Macs using Virtualization.Framework.
# Create a macOS VM with Lume (simplified)
lume create --os macos --name agent-workspace
# Create a Linux VM
lume create --os ubuntu --name dev-env
VMs provide isolated environments where agents can test safely. Heavier than Docker containers, but essential for GUI app testing.
4. CUA-S1 — Computer-Use-Specific Models
General LLMs are not specialized for computer manipulation. CUA-S1 is a small dedicated model for computer-use decisions.
Input: Current screen + task goal
Output: Next action (click, type, scroll, etc.)
Example:
Screen: Google search results in Safari
Goal: "Find React vs Vue comparison doc"
Action: [Click input field] → ["React vs Vue comparison" typed] → [Enter]
This model is much faster than general LLMs and more accurate for computer-use tasks because it's specialized.
5. Cua Bench — Agent Evaluation Tool
Evaluates agents' computer-use capabilities and exports execution trajectories.
Cua Bench evaluation metrics:
├── Task completion rate
├── Step efficiency
├── Error recovery ability
└── Time to complete
MCP Integration — Connect with Various Agents
Cua connects with various agents through MCP (Multi-Channel Protocol).
Claude Code ──┐
Codex ────┼──▶ MCP Server ──▶ Cua Driver
Cursor ──────┘ (Cua) ├── macOS app manipulation
OpenClaw ──────┘ ├── Windows app manipulation
└── Linux app manipulation
No need to write separate integration code for each agent. Just follow the MCP standard.
Pricing and Licensing
| Component | License | Cost |
|---|---|---|
| Cua Driver (code) | MIT | Free |
| Lume (code) | MIT | Free |
| Cua Spaces (app) | FSL-1.1-MIT | Free for individuals, Pro $18/mo |
| CUA-S1 model | MIT | Free |
The Cua Spaces app uses the FSL (Functional Source License). The source is public but commercial redistribution is restricted. Note that the code (MIT) and app (FSL) have different licenses.
Limitations and Considerations
- macOS-first: Lume depends on Apple Silicon's Virtualization.Framework. Support for Intel Macs and Windows is limited.
- VM overhead: VMs created by Lume are heavier than Docker containers and use more memory.
- FSL app license: Cua Spaces follows FSL, unlike the MIT-licensed code.
- Agent compatibility: While 20+ agents are supported, not all combinations have been fully tested.
Developer Takeaway
There are two ways agents "use" computers.
Screen-reading agents look human. But they're slow, fragile, and break accessibility.
Native API agents (Cua) are fast, stable, and leverage accessibility APIs.
When deploying agents to production, avoid screen-based approaches. Cua solves this at the infrastructure level.
Don't let agents move your mouse — let them manipulate apps directly.