HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
trycua
cua
Rust2025–2026
trycua / cua

cua

Scale computer-use 2.0 with open-source drivers, cross-OS sandboxes, and benchmarks for training, evaluation, and data generation.

11Distinct people
35Mentions
0Explicit recommenders
32.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Scale computer-use 2.0 with open-source drivers, cross-OS sandboxes, and benchmarks for training, evaluation, and data generation.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month35 dated mentions

Observed mentions: 2025-02-02 11:46:22 UTC to 2026-09-25 15:19:41 UTC.

02462025-02-01 00:00:00 UTC to 2025-03-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 commentsFeb 20252025-03-01 00:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments2025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsNov 20252025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-03-01 00:00:00 UTC to 2026-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-01 00:00:00 UTC to 2026-05-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2026-05-01 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-06-01 00:00:00 UTC to 2026-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-07-01 00:00:00 UTC to 2026-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-01 00:00:00 UTC to 2026-09-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2026-09-01 00:00:00 UTC to 2026-10-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 commentsSep 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 20252025-02-01 00:00:00 UTC2025-03-01 00:00:00 UTC422
Mar 20252025-03-01 00:00:00 UTC2025-04-01 00:00:00 UTC220
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC615
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC514
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC000
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC000
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC110
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC000
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC422
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC211
Mar 20262026-03-01 00:00:00 UTC2026-04-01 00:00:00 UTC000
Apr 20262026-04-01 00:00:00 UTC2026-05-01 00:00:00 UTC321
May 20262026-05-01 00:00:00 UTC2026-06-01 00:00:00 UTC211
Jun 20262026-06-01 00:00:00 UTC2026-07-01 00:00:00 UTC101
Jul 20262026-07-01 00:00:00 UTC2026-08-01 00:00:00 UTC000
Aug 20262026-08-01 00:00:00 UTC2026-09-01 00:00:00 UTC321
Sep 20262026-09-01 00:00:00 UTC2026-10-01 00:00:00 UTC220

What Hacker News says

35 sources

Show HN: CUA-S1 – A System One Model for Computer Use

Hello HN! We're Dillon and Francesco from Cua. We were wondering how many computer use tasks actually need a full general purpose LLM (e.g. gpt-6-astra, claude-opus-5 etc.) to think through all their decisions and steps. Some tasks require thinking about a plan, exploring different paths, recovering from failure. Other tasks are a question of making local decisions, like this value should go in this box, or should I check this box, or this element should be ignored. We wondered how far we could go with a small model trained to only make these kinds of decisions. Our inspiration was Typesafe's Jev and its System One Model framing. This is a nod to the dichotomy between thinking quickly, automatically, and intuitively (system 1) vs. thinking slowly, analytically (system 2), as described by Daniel Kahneman. The interesting question for us wa
Read the rest
s: what happens if you give a model an interface of current context, and a set of possible choices, and you ask it to return a probability for each choice? This kind of model does not generate output token by token like most LLMs do, but rather scores the options you give it, which you can check, trust, and use to drive your app's behavior. CUA-S1 is our answer for narrow, specialized decision models for computer use. Our first release is CUA-S1-FORMS. We built this from ideas and code in jevlike, and then trained a second model just to handle form interactions. It has 706k parameters, and the original checkpoint is 2.8 MB. The first training iteration took less than 30 minutes on synthetic data. Given a set of structured elements and values extracted from a document, it predicts whether to use the given value, CHECK, CLICK, or SKIP for each element. It does not predict new values for text fields, and does not consider screenshots. Element decisions are scored together, and your code can order the actions, and Cua Driver will execute them one at a time. A first evaluation of this specialist vs. hosted Jev on our form task: - For the whole decision set: 99.7% correct vs 83.6%. - For the subset of steps that require an action: 100% correct vs 96%. - For the subset of steps that are just leaving already-filled fields alone: 100% correct vs 74%. The specialist was trained specifically for this task and convention (just press skip for already filled boxes), while hosted Jev has not been fine-tuned for it, so this is an experiment in scoped specialization. We measured 7-9 ms to score a form locally vs. 260-280 ms per call to hosted Jev including network latency, though those samples measure different things and are not end-to-end form completion times. Our interest here is in the space between a brittle script and a general agent loop. The content and layout of form fields vary enough that scripts get unwieldy, but the set of available decisions can remain narrow and well scoped. We want to explore the possibility of a general agent encountering something novel, and passing well understood decisions over to specialists like this. That is a direction we are looking into. The current release is for forms only. We're open sourced the synthetic data generation, training, evaluation, and Driver integration under libs/cua-s1 with an MIT license. Comments welcome! Especially if you are building computer-use agents and have run into a recurring decision that is too variable to script but is too narrow to call another LLM for.
95 points · Open discussion
To be clear, this does technically meet the very minimal commitment[1] they gave when announcing the acquisition: > In the coming weeks, we will relicense all of our source-available tools, including Tart, Vetu and Orchard under a more permissive license. (HN discussion: https://news.ycombinator.com/item?id=47730194) In this case they moved from one source-available license (Fair Source License v0.9 with seat restrictions) to another (Fair Source License 1.1-ALv2 without seat restrictions), with the same sort of restrictions on field-of-endeavor as before. Why they've chosen this isn't super clear, as (1) there are already open-source alternatives that use the same storage formats as Tart, like Lume[2]; and (2) Tart is certainly already in the training sets of all of OpenAI's "direct competitors", who are practically held back little or
Read the rest
not at all by the restrictions of the FSL. The only entities this really restricts are F/OSS distributions which might otherwise include Tart as a first-class package in their distros. :-\ -- 1: https://web.archive.org/web/20260412071019/https://cirruslab... 2: https://github.com/trycua/cua/tree/main/libs/lume
In Following acquisition by OpenAI, Tart is still proprietary software
We don't have a specific testing framework yet. cua-driver is closer to an automation interface than a test runner. that said, you could definitely build one on top of it. For reference these are some of our integration tests: https://github.com/trycua/cua/tree/main/libs/cua-driver/Test... One useful trick is to cua-driver 'launch_app' instead of the default 'open' or other osascript, since it can start the app without raising/focusing it, and the tests don't disturb your active desktop while they run
In Show HN: Drive any macOS app in the background without stealing the cursor

Show HN: Drive any macOS app in the background without stealing the cursor

Hi HN, Francesco from Cua here. I hacked this project together last weekend, inspired by the Codex Computer-Use release and lessons learned from deploying GUI-operating agents for our customers. The main problem: when a UI automation process controls a desktop app today, it usually takes over the human’s session. Your cursor moves, keyboard focus gets stolen, windows jump to the front, and you have to stop working until the agent is done. That is why we have historically avoided encouraging users to run these processes directly on their host machine, instead relying on VMs or GUI containers for concurrency and background execution. But computer-use - the tools we give agents to operate computers like humans - does not scale cleanly that way. As models get smarter, agents need to share hosts safely, run in the background, and avoid collisi
Read the rest
ons with the human or other agents using the same machine. We realized macOS has no first-class API for "drive this app without touching the cursor". CGEventPost routes through the hardware input stream, so it moves your cursor. CGEvent.postToPid avoids the cursor warp, but Chromium treats those events as untrusted and silently drops clicks at the renderer boundary. Activating the target app first raises the window and pulls focus, defeating the point of background execution. Cua Driver is our attempt at a real fix: a background computer-use driver for macOS that lets an agent click, type, scroll, and read native apps while your cursor, frontmost app, and Space stay where they are. The default interface is a CLI, so it is easy to script or call from any coding agent shell. Try it on macOS 14+: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-d...)" The first internal use case was delegated demo recording. We ask Claude Code to drive an app while 'cua-driver recording start' captures the trajectory, screenshots, actions, and click markers. The result is an agent-generated product demo, Screen Studio inspired. Other things we have used it for: - Replacing Vercel’s agent-browser and other browser-use CLIs. With Claude Code and Cua Driver, you do not need Chrome DevTools Protocol at all. - A dev-loop QA agent that reproduces a visual bug, edits code, rebuilds, and verifies the UI while my editor stays frontmost. - Personal-assistant flows that use iMessage from Claude Code, Hermes, or other general-purpose agent CLIs. - Pulling visual context from Chrome, Figma, Preview, or YouTube windows I am not looking at, without relying on their APIs. What made this harder than expected: - CGEventPost warps the cursor because it goes through the HID stream. - CGEvent.postToPid does not warp the cursor, but Chromium drops it at the renderer IPC boundary. - Activating the target first raises the window and can drag you across Spaces. - Electron apps stop keeping useful AX trees alive when windows are occluded without a private remote-aware SPI. The unlock was SkyLight. SLEventPostToPid is a sibling of the public per-PID call, but it travels through a WindowServer channel Chromium accepts as trusted. Pair it with yabai’s focus-without-raise pattern, plus an off-screen primer click at (-1, -1), and the click lands without the window ever raising. One thing we learned: the right addressing mode depends on the app. Native macOS apps usually have rich AX trees, Chromium-family apps often need a hybrid of AX and screenshots, and apps like Blender or CAD tools may expose almost no useful AX surface. The mistake is defaulting to pixels everywhere - or defaulting to AX everywhere. Long technical writeup: https://github.com/trycua/cua/blob/main/blog/inside-macos-wi... I would like feedback from people building Mac automation, agent harnesses, or accessibility tooling. If it breaks on an macOS app you care about, that is useful data for us.
192 points · Open discussion
it's the 40th or so implementation of an old idea but it's the one that was done when the models got good enough to make it useful by someone who goes on podcasts. [1] Just like youtube was the 40th or so online video site but it's the one that was done by members of the paypal mafia and when enough people had high speed internet. and that is literally it. You can do that right now. Go through the 2023 LLM-related product announcements that didn't stick and vibe code it with 2026 models. Slap a cartoon on it, hype the shit out of it and post hard. I'd use a knockoff of "blobby the blobfish". [1] see https://github.com/simular-ai/Agent-S or https://github.com/trycua/cua or https://github.com/bytebot-ai/bytebot or https://github.com/microsoft/fara or https://github.com/e2b-dev/open-computer-use or https://github.com/777genius/os-ai-computer
Read the rest
In Claws are now a new layer on top of LLM agents
frabonacci·Feb 4, 2026Submission

Show HN: CuaBot – Co-op computer-use for any coding agent

Hey HN, CuaBot gives you co-op computer-use for any AI coding agent. What this is: CuaBot is a TUI to launch any CLI agent (Claude Code, OpenClaw, Codex, etc.) or GUI app inside a sandbox with computer-use. Agent windows appear natively on your desktop with a colored border. Your agent interacts with them through its own cursor, without any mouse/focus hijacking or invasive full-desktop screenshots. This enables co-op mode: you and your agent work in the same windows with separate cursors. What you can do: $ npx cuabot claude > "Write a 2-player tic-tac-toe game, then let's play. I'll go first" Claude Code will open the game in a sandboxed window on your desktop. When ready, you click your move through the native window while the agent watches and waits to click its move. The agent can see your cursor and its windows while keeping your fu
Read the rest
ll desktop isolated. # Run agents in parallel: $ npx cuabot -n research openclaw $ npx cuabot -n coding codex # Or script the CLI: $ npx cuabot libreoffice --writer & $ npx cuabot --click 150 48 $ npx cuabot --type “I Cua!” Right now my cuabot agent is exploring mobile/desktop apps to turn into cuabench RL environments. I watch the windows appear, intervene when it gets stuck, and let it continue until it opens the completed GUI gym for me to interact with. Why we built this: We built Cua (https://github.com/trycua/cua), our open-source SDK for building and benchmarking computer-use systems with GUI sandboxes. We kept seeing two common patterns: 1. Agent screenshots your desktop and controls your mouse – Works with your data, but unsafe and locks you out 2. Agent runs in a sandbox with an external VNC desktop – Safer (our default), but clunky to monitor, hard to interact with, and tedious for data transfer General computer-use should be frictionless. Asking your agent to debug a GUI app shouldn't require opening an entire desktop stream. The GUI app should just appear alongside your windows, sandboxed and ready. How it works: cuabot [command] launches cuabotd, which manages a Ubuntu + Xpra Docker container, a multi-cursor overlay, an Xpra computer-use MCP server, and an Xpra seamless client. It auto-configures your agent (Claude, Aider, etc.) to connect to the computer-use MCP, then pipes terminal I/O through WebSocket. The Xpra client automatically detects and streams windows launched in the container, with H.264 encoding, audio, and customizable clipboard sharing. Since the computer-use MCP interacts through an Xpra client, the agent only sees the windows it needs, sparing it from your desktop clutter! GitHub: https://github.com/trycua/cua (monorepo; libs/cuabot directory) Docs: https://cua.ai/docs npm: https://www.npmjs.com/package/cuabot We'll be here to answer questions!
2 points · Open discussion

Show HN: Cua-Bench – a benchmark for AI agents in GUI environments

Hey HN, we're excited to share Cua-Bench ( https://github.com/trycua/cua ), an open-source framework for evaluating and training computer-use agents across different environments. Computer-use agents show massive performance variance across different UIs—an agent with 90% success on Windows 11 might drop to 9% on Windows XP for the same task. The problem is OS themes, browser versions, and UI variations that existing benchmarks don't capture. The existing benchmarks (OSWorld, Windows Agent Arena, AndroidWorld) were great but operated in silos—different harnesses, different formats, no standardized way to test the same agent across platforms. More importantly, they were evaluation-only. We needed environments that could generate training data and run RL loops, not just measure performance. Cua-Bench takes a different approach: it's a unifi
Read the rest
ed framework that standardizes environments across platforms and supports the full agent development lifecycle—benchmark, train, deploy. With Cua-Bench, you can: - Evaluate agents across multiple benchmarks with one CLI (native tasks + OSWorld + Windows Agent Arena adapters) - Test the same agent on different OS variations (Windows 11/XP/Vista, macOS themes, Linux, Android via QEMU) - Generate new tasks from natural language prompts - Create simulated environments for RL training (shell apps like Spotify, Slack with programmatic rewards) - Run oracle validations to verify environments before agent evaluation - Monitor agent runs in real-time with traces and screenshots All of this works on macOS, Linux, Windows, and Android, and is self-hostable. To get started: Install cua-bench: % pip install cua-bench Run a basic evaluation: % cb run dataset datasets/cua-bench-basic --agent demo Open the monitoring dashboard: % cb run watch <run_id> For parallelized evaluations across multiple workers: % cb run dataset datasets/cua-bench-basic --agent your-agent --max-parallel 8 Want to test across different OS variations? Just specify the environment: % cb run task slack_message --agent your-agent --env windows_xp % cb run task slack_message --agent your-agent --env macos_sonoma Generate new tasks from prompts: % cb task generate "book a flight on kayak.com" Validate environments with oracle implementations: % cb run dataset datasets/cua-bench-basic --oracle The simulated environments are particularly useful for RL training—they're HTML/JS apps that render across 10+ OS themes with programmatic reward verification. No need to spin up actual VMs for training loops. We're seeing teams use Cua-Bench for: - Training computer-use models on mobile and desktop environments - Generating large-scale training datasets (working with labs on millions of screenshots across OS variations) - RL fine-tuning with shell app simulators - Systematic evaluation across OS themes and browser versions - Building task registries (collaborating with Snorkel AI on task design and data curation, similar to their Terminal-Bench work) Cua-Bench is 100% open-source under the MIT license. We're actively developing it as part of Cua (https://github.com/trycua/cua), our Computer Use Agent SDK, and we'd love your feedback, bug reports, or feature ideas. GitHub: https://github.com/trycua/cua Docs: https://cua.ai/docs/cuabench Technical Report: https://cuabench.ai We'll be here to answer any technical questions and look forward to your comments!
40 points · Open discussion

Showing the 15 most recent of 35 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.