A computer your agent can see and operate.
Full desktops, Linux, Windows and macOS, with screenshot, mouse, keyboard and scroll as first-class API calls. Your agent drives real GUI apps, installers and legacy software, and you can hand the same machine to a person over a 60fps stream.
- H.264 stream
- 60 fps
- H.264 stream
- Linux · Win · Mac
- 3 OSes
- Linux · Win · Mac
- resume
- <200ms
- resume
- control
- OS-level
- control
Browser automation isn’t computer use.
A headless browser can click a web page. It cannot open a desktop app, run an installer, operate legacy software or a native file dialog. Agents doing real work need a whole computer, isolated, pausable, and drivable by both a model and a human.
- Agent control
Beyond the browser
Most real tasks live in native apps and OS chrome the browser can’t reach. Computer use operates the whole machine.
- Computer use
Model and human, one machine
An agent drives most of the time; a person needs to take the wheel for the hard moment. Both need the same live desktop.
- Isolation
Isolated and cheap to keep
A desktop per task must be sandboxed and free while idle, or the approach doesn’t scale past a demo.
See it, operate it, hand it off.
The same loop a person runs at a desk, screenshot, decide, act, exposed as function calls with return values.
- 01
Boot a desktop
Create a VM with a real windowing system on Linux, Windows or macOS. Warm claim under 200ms.
- 02
See
Screenshot at full resolution on demand, or open a 60fps stream, the pixels the agent reasons over.
- 03
Operate
Move, click, drag, type, key-combo and scroll at OS level, not through a browser shim.
- 04
Hand off
Drop the live desktop into your product with one component, or send a signed link so a human can take over, then pause to $0.
The whole desktop, as an API.
- 01
Vision + input
Screenshot, move, click, type, scroll and hotkeys, the full set, on one channel.
- 02
60fps remote desktop
Stream over WebRTC for human-in-the-loop, or connect RDP/VNC.
- 03
Linux, Windows, macOS
The same primitives across all three desktops; only the OS underneath changes.
- 04
Any GUI app
Installers, native apps, legacy software, a browser, if it runs on a machine, the agent can drive it.
- 05
Scoped stream tokens
The stream is signed for one VM with the scopes you set and dies with the machine.
- 06
Pause-to-zero
A configured desktop pauses to $0 between tasks and resumes exactly where it was.
The products that power it.
Computer use is powered by Sandal’s VM and device surfaces.
1from sandal import Sandbox
2
3# boot a desktop the agent can see
4vm = Sandbox.create(desktop=True)
5vm.screenshot("before.png")
6
7vm.click(x=412, y=280)
8vm.type("hello from the agent")
9vm.key("cmd+s")
10
11# read the screen back
12frame = vm.stream.latest()
13assert frame.contains("Saved")
➜ sandbox sandal desktop --stream
connecting to vm_7c31…
✓ stream open · 60fps · 18ms latency
screenshot → before.png
click(412, 280) · type · cmd+s
✓ saved
➜ sandbox
Hand your agent a desktop.
Not a browser, a whole computer it can see and operate, on any OS. Paused costs nothing.
