the short version
- CUA-S1's GitHub component is an early, source-only research release (Python model code, synthetic-data generation, training and evaluation, MIT-licensed), with weights and data hosted separately as CUA-S1-FORMS on Hugging Face.
- The first research profile covers forms: it scores decisions from structured interface elements and document values rather than generating a response token by token, which trycua calls an engineering analogy for fast, bounded decisions.
- The README reports no latency figures, no accuracy figures, no parameter count and no base model, so the fast/slow split is an architecture proposal you would have to measure yourself.
- Planning stays in your own agent: application code orders the actions and the optional Cua Driver integration handles execution with explicit action boundaries.
CUA-S1 is trycua's family of small, specialized System 1 models for computer-use decisions, announced in a Show HN post dated 19 September 2026. The GitHub component is an early, source-only research release - Python model code, synthetic-data generation, training and evaluation, MIT-licensed - and the weights live separately on Hugging Face as CUA-S1-FORMS, with their own model card, dataset card and artifact-specific license. The split it proposes is narrow: the first research profile scores decisions from structured interface elements and document values rather than generating a response token by token, while application code orders the actions and a general-purpose agent keeps planning and reasoning. The number that matters is that there is not one - the README reports no latency and no accuracy figures for that split.
The rest of the repository is the stack you would run it inside. trycua/cua carries 24.4k stars, 1.7k forks and 4,758 commits, and ships Cua Fleets for isolated cloud desktops at run.cua.ai, Cua Driver for operating native desktop apps and browsers on macOS, Windows and Linux, Lume for local macOS and Linux VMs on Apple Silicon using Apple's Virtualization.Framework, and Cua Bench for building computer-use tasks and exporting trajectories. The umbrella term trycua uses, Computer-Use 2.0, describes an agent moving between code, APIs and graphical interfaces within the same task.
What CUA-S1 actually ships on GitHub
The GitHub component is described as an early, source-only research release, and the source is MIT-licensed. The weights and the training data are elsewhere: CUA-S1-FORMS on Hugging Face has both a model card and a dataset card, and trycua is explicit that each model and dataset card carries its own scope, limitations and artifact-specific license. That distinction matters for anyone planning to ship this, because the MIT license on the repository does not automatically cover the weights you would serve.
- Python model code for the CUA-S1 decision models
- Synthetic-data generation for the forms profile
- Training code and evaluation code
- A model card, a dataset card, and safety and deployment guidance published alongside the weights
- An optional Cua Driver integration for executing the chosen actions
Where the fast and slow boundary is drawn
trycua qualifies the System 1 framing in the README, and the caveat is worth reading literally. The label describes the scope of the decision, not the architecture of the model, and not a claim about replacing a planner.
We use "System 1" as an engineering analogy for fast, bounded decisions, such as choosing which value belongs in a field or whether to leave an element alone. It is not a strict classification of model architectures or a replacement for a general-purpose agent's planning and reasoning.
So the boundary is not perception versus reasoning in the abstract; it is bounded versus unbounded output. The two examples the README gives of the bounded end are choosing which value belongs in a field and deciding whether to leave an element alone. Planning and reasoning are placed outside CUA-S1's scope by the same sentence, and stay with whatever general-purpose agent you already run.
Scoring decisions instead of generating tokens
The stated mechanism is that the first research profile focuses on forms and scores decisions from structured interface elements and document values rather than generating a response token by token. Scoring over supplied candidates constrains the output to the candidate set the harness provides, which changes the failure mode from a malformed action to a ranking error on a known list. The README does not describe the inference path in any more detail than that, and it does not report what the scoring step costs.
The consequence for a stack is that CUA-S1 does not drive the loop. Application code orders the actions, the model scores options inside an ordering you already control, and the optional Cua Driver integration handles execution with explicit action boundaries. That is a different integration shape from a tool-calling agent that emits its own next action.
The planner stays in your own harness
Cua's framing is bring your own agent and model; Cua provides the computer and the automation tools. Cua Driver connects through the CLI, MCP or typed SDKs, and the README points users of Claude Code, Codex, Cursor, OpenClaw or another agent to an integration page. Background delivery lets agents work without moving your pointer or taking focus when the app and platform support it, with the boundaries documented on the platform support page.
Practically, adopting CUA-S1 is not a migration. You keep your planner and replace one class of call inside it. The integration risk is concentrated in whether your harness can expose structured interface elements and document values in the form the model expects - the README does not publish that input schema, and an agent holding only pixels has nothing for the forms profile to score.
Where you run the loop is a separate decision. Fleets provision isolated cloud desktops: a Fleet maintains sandbox capacity, your code claims a desktop from a pool, and the Sandbox SDK runs commands, captures screenshots and interacts with apps inside it. Local sandboxes and Fleets share the Sandbox SDK, but credentials, images, operations and runtime requirements differ, and the README warns that pools can retain paid capacity after a claim ends, so its cleanup steps matter. trycua points to a runtime support reference for choosing between them.
trycua publishes no latency or accuracy numbers
There are no per-decision latency figures, no accuracy numbers on a named forms benchmark, no parameter count and no base model in the README. The split is unquantified as shipped. The closest published evidence for the underlying premise is Cache-to-Cache (arXiv:2510.03215, submitted 3 October 2025, revised 2 March 2026, published in ICLR'26), by Tianyu Fu and six co-authors, which attacks the same cost from a different direction: it replaces text communication between two LLMs with a neural network that projects and fuses the source model's KV-cache into the target's, reporting 6.4-14.2% higher average accuracy than the individual models, roughly 3.1-5.4% over the text communication paradigm, and an average 2.5x speedup in latency.
That is not a CUA-S1 result and should not be quoted as one. The mechanisms differ: C2C fuses KV-caches between two language models, while CUA-S1 scores candidates from structured input. What C2C establishes is the size of the prize, since its stated motivation is that forcing internal representations into output token sequences both loses rich semantic information and incurs token-by-token generation latency. CUA-S1 avoids the same token-by-token cost by not generating for the bounded step.
If you want your own numbers, the measurement path is in the same repository. Cua Bench builds computer-use tasks, evaluates agents and exports trajectories for training, and its starter task requires no VM, Docker or model API key. With Python 3.12 or 3.13 and uv installed:
uv tool install 'cua-bench[browser]'
uv tool run --from 'cua-bench[browser]' playwright install chromiumThe intended first result is a small task whose reference solution makes the evaluator report a reward of 1.0. That gives you a harness where the only variable you change is which model handles the bounded step, which is the only way to attribute a latency delta to the split rather than to everything else in the loop.
Parameter count and benchmarks remain unpublished
The open questions are the ones that decide adoption: parameter count, base architecture, the input schema for structured interface elements, per-decision latency on commodity hardware, and accuracy on any named forms benchmark. Calling forms the first research profile implies more are planned, but CUA-S1-FORMS is the only one the README lists today. Read the model card and dataset card before building on either, since the MIT license on the repository does not extend to them by default.
Licensing elsewhere in the stack deserves the same attention if you plan to combine pieces: Cua bundles Kasm under MIT and OmniParser under CC-BY-4.0, and the optional cua-agent[omni] extra pulls in ultralytics under AGPL-3.0. A specialist model that cuts inner-loop latency is worth less if the perception component beside it changes your deployment's license obligations. The architecture argument for splitting bounded decisions out of the planner is cheap to test with Cua Bench; the evidence that CUA-S1 wins that split is not yet on the page.
Questions this raises
what is CUA-S1
CUA-S1 is trycua's family of small, specialized System 1 models for computer-use decisions. The first research profile focuses on forms and scores decisions from structured interface elements and document values rather than generating a response token by token.
are the CUA-S1 weights MIT licensed
No. The GitHub source release is MIT-licensed, but the weights live separately on Hugging Face as CUA-S1-FORMS with their own model card, dataset card and artifact-specific license. The repository license does not automatically cover the weights you would serve.
does CUA-S1 replace my agent's planner
No. trycua places planning and reasoning outside CUA-S1's scope and keeps them with a general-purpose agent. Application code orders the actions and the model scores options inside an ordering you already control, so adopting it replaces one class of call rather than requiring a migration.
These daily notes are drafted by a model I run and operate myself - the same kind of pipeline this site is about - from sources published in the previous 24 hours, and every one lists what it read. The longer essays, the talks and the preprint are mine, written by hand.
