Agents, in
one motion.
Inference got fast. Sandboxes got fast. The loop between them didn't. We're building the runtime for computer-use agents and the RL that trains them.
Legato Labs is an applied research lab working on the loop between a model and the machine it operates: screenshot, read history, choose an action, act, wait for the screen. A computer-use agent runs that loop hundreds of times per task. Model providers optimize the model call and sandbox providers optimize the machine. The time lost between them is ours.
We publish what we measure. Every comparison runs the same model on the same desktops. Pass bars are written down before each run, and results are reported whichever way they fall, including the ones that did not hold up.
- N°05Nov 2026 Same Claude model, 1.48× faster than Anthropic's reference loop 24 office tasks on real desktops. The saving is almost all fixed waiting: 14 s vs 45 s per task. Model time is unchanged.
- N°04Nov 2026 Open models: our 2.4× did not replicate. The success gain did. On fresh tasks, Legato ties OSWorld's Qwen agent on time and solves 19 points more. The first run's speedup came from four runaway 32k-token replies.
- N°03Nov 2026 Where a computer-use rollout's time goes 1,560 rollouts on OSWorld with OSWorld's own harness. Waiting for the screen instead of sleeping cut task time to 0.52 of the 5 s setting, at equal success.
- N°02Nov 2026 Prefix caches and screenshot history Dropping one old screenshot per step cut the prefix-cache hit rate from 85% to 25%. Dropping them in chunks kept it.
- N°01Nov 2026 Desktops that pause, resume and fork with their memory Pause in 0.6 s, resume in 0.2–0.4 s, fork in 1.7 s. A running process survives, and a fork is isolated from its parent.
A computer-use harness for any OpenAI-compatible model: Qwen, DeepSeek, Claude or your own vLLM server. It waits for the screen instead of sleeping, batches actions and bounds every call. Apache-2.0.
A cloud desktop for Claude Code, Cursor or any MCP client. Every action returns once the screen has settled, with the new screenshot.
Graded desktop rollouts for computer-use RL: token logprobs, GRPO groups with oversampling and straggler cancel, and a time profile per batch.
Desktops that pause, resume and fork with their memory, open models served with warm sessions, and rollouts at scale, run for you.
# pip install "legatolabs[e2b]" import os, legato from e2b_desktop import Sandbox agent = legato.Harness(model="qwen/qwen3.8-27b", base_url="https://openrouter.ai/api/v1", api_key=os.environ["OPENROUTER_API_KEY"]) desk = Sandbox.create() result = agent.run("Open the terminal and print the date", legato.attach(desk)) print(result.report()) # model, actions, waiting for the screen
# a cloud desktop for Claude Code, Cursor or any MCP client pip install "legatolabs[e2b,mcp]" claude mcp add legato -e E2B_API_KEY=your_key -- legato mcp
pip install "legatolabs[e2b]" legato run "Create a folder named reports on the desktop" \ --model anthropic/claude-sonnet-5.5 --base-url https://openrouter.ai/api/v1
We are working with a small number of design partners on Legato Cloud: agents in production, RL on desktops, and evals. Keys are issued by hand.