Repository: trycua/cua
Stars: 13500
README.md
<div align="center">
<a href="https://cua.ai" target="_blank" rel="noopener noreferrer">
<picture>
<source media="(prefers-color-scheme: dark)" alt="Cua logo" width="150" srcset="img/logo_white.svg">
<source media="(prefers-color-scheme: light)" alt="Cua logo" width="150" srcset="img/logo_black.svg">
<img alt="Cua logo" width="150" src="img/logo_black.svg">
</picture>
</a>
<p align="center">Build, benchmark, and deploy agents that use computers</p>
<p align="center">
<a href="https://cua.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/cua.ai-0ea5e9" alt="cua.ai"></a>
<a href="https://discord.gg/mVnXXpdE85" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-10b981?logo=discord&logoColor=white" alt="Discord"></a>
<a href="https://x.com/trycua" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/trycua?style=social" alt="Twitter"></a>
<a href="https://cua.ai/docs" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-0ea5e9.svg" alt="Documentation"></a>
<br>
<a href="https://trendshift.io/repositories/13685" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13685" alt="trycua%2Fcua | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
</p>
</div>
Choose Your Path
<div align="center">
<table>
<tr>
<td align="center">
<a href="#cua---agentic-ui-automation--code-execution">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="img/card-cua-dark.png">
<source media="(prefers-color-scheme: light)" srcset="img/card-cua-light.png">
<img src="img/card-cua-light.png" alt="Cua" width="280">
</picture>
</a>
</td>
<td align="center">
<a href="#cua-bench---benchmarks--rl-environments">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="img/card-cua-bench-dark.png">
<source media="(prefers-color-scheme: light)" srcset="img/card-cua-bench-light.png">
<img src="img/card-cua-bench-light.png" alt="Cua-Bench" width="280">
</picture>
</a>
</td>
<td align="center">
<a href="#lume---macos-virtualization">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="img/card-lume-dark.png">
<source media="(prefers-color-scheme: light)" srcset="img/card-lume-light.png">
<img src="img/card-lume-light.png" alt="Lume" width="280">
</picture>
</a>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<a href="https://cua.ai/docs/cuabot/guide/getting-started/introduction">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="img/card-cua-bot-dark.png">
<source media="(prefers-color-scheme: light)" srcset="img/card-cua-bot-light.png">
<img src="img/card-cua-bot-light.png" alt="Cua Bot" width="888">
</picture>
</a>
</td>
</tr>
</table>
</div>
---
Cua - Agent-Ready Sandboxes for Any OS
Build agents that see screens, click buttons, and complete tasks autonomously. One API for any VM or container image — cloud or local.
pip install cua<!-- <img src="img/cua-architecture.png" alt="Cua Architecture" width="100%"> -->
Requires Python 3.11 or later
from cua import Sandbox, ImageSame API regardless of OS or runtime
async with Sandbox.ephemeral(Image.linux()) as sb: # or .macos() .windows() .android()
result = await sb.shell.run("echo hello")
screenshot = await sb.screenshot()
await sb.mouse.click(100, 200)
await sb.keyboard.type("Hello from Cua!")
await sb.mobile.gesture((100, 500), (100, 200)) # multi-touch gestures| | Linux container | Linux VM | macOS | Windows | Android | BYOI (.qcow2, .iso) |
| ------------------ | --------------- | -------- | ----- | ------- | ------- | ------------------- |
| Cloud (cua.ai) | ✅ | ✅ | ✅ | ✅ | ✅ | 🔜 soon |
| Local (QEMU) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Get Started | Examples | API Reference
---
CuaBot - Co-op computer-use for any agent
<div align="center">
<img src="img/cuabot-screenshot.png" alt="cuabot screenshot" width="720">
</div>
cuabot gives any coding agent a seamless sandbox for computer-use. Individual windows appear natively on your desktop with H.265, shared clipboard, and audio.
npx cuabot # Setup onboardingRun any agent in a sandbox
cuabot claude # Claude Code
cuabot openclaw # OpenClaw in the sandboxRun any GUI workflow in a sandbox
cuabot chromium
cuabot --screenshot
cuabot --type "hello"
cuabot --click <x> <y> [button]Built-in support for agent-browser and agent-device (iOS, Android) out of the box.
<div align="center">
Get Started | Installation | First spotted at ClawCon
<img height="64" alt="cuaXclawdbot_nbg" src="https://github.com/user-attachments/assets/8b92237d-6e9b-4b3a-ae9a-b3560622ec1d" />
</div>
---
Cua-Bench - Benchmarks & RL Environments
Evaluate computer-use agents on OSWorld, ScreenSpot, Windows Arena, and custom tasks. Export trajectories for training.
<!-- <img src="img/cua-bench-architecture.png" alt="Cua-Bench Architecture" width="100%"> -->
Install and create base image
cd cua-bench
uv tool install -e . && cb image create linux-dockerRun benchmark with agent
cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4Get Started | Partner With Us | Registry | CLI Reference
---
Lume - macOS Virtualization
Create and manage macOS/Linux VMs with near-native performance on Apple Silicon using Apple's Virtualization.Framework.
<!-- <img src="img/lume-architecture.png" alt="Lume Architecture" width="100%"> -->
Install Lume
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"Pull & start a macOS VM
lume run macos-sequoia-vanilla:latestGet Started | FAQ | CLI Reference
---
Packages
| Package | Description |
| --------------------------------------------------------------------------- | ---------------------------------------------------------- |
| cuabot | Multi-agent computer-use sandbox CLI |
| cua-agent | AI agent framework for computer-use tasks |
| cua-sandbox | SDK for creating and controlling sandboxes |
| cua-computer-server | Driver for UI interactions and code execution in sandboxes |
| cua-bench | Benchmarks and RL environments for computer-use |
| lume | macOS/Linux VM management on Apple Silicon |
| lumier | Docker-compatible interface for Lume VMs |
Resources
- Documentation — Guides, examples, and API reference
- Blog — Tutorials, updates, and research
- Discord — Community support and discussions
- GitHub Issues — Bug reports and feature requests
Contributing
We welcome contributions! See our Contributing Guidelines for details.
License
MIT License — see LICENSE for details.
Third-party components have their own licenses:
- Kasm (MIT)
- OmniParser (CC-BY-4.0)
- Optional cua-agent[omni] includes ultralytics (AGPL-3.0)
Trademarks
Apple, macOS, Ubuntu, Canonical, and Microsoft are trademarks of their respective owners. This project is not affiliated with or endorsed by these companies.
---
<div align="center">

Thank you to all our GitHub Sponsors!
<img width="300" alt="coderabbit-cli" src="https://github.com/user-attachments/assets/23a98e38-7897-4043-8ef7-eb990520dccc" />
</div>