Give your agents a computer, not a chat box.
Autonomous agents have to clone repos, install dependencies, run builds, browse, and read the output, on a real machine, not inside a text model. Sandal hands each agent its own microVM: full filesystem, its own kernel, and $0 the moment it pauses to think.
- warm claim
- <200ms
- warm claim
- while paused
- $0
- while paused
- kernel per agent
- 1
- kernel per agent
- concurrency
- unlimited
- concurrency
A text model can’t run code.
The moment an agent needs to actually do something, check out a branch, install a package, run a test, read a stack trace, reasoning isn’t enough. It needs a machine. Bolting one shared container onto the fleet leaks state between agents and falls over under real concurrency.
- Agent capabilities
Execution, not just tokens
Agents need a filesystem, a shell, a network and real exit codes, the ground truth a model can act on.
- Isolated machines
One per agent
A hundred agents need a hundred isolated machines, not a shared host where one poisons the next.
- Session efficiency
Idle is most of the loop
Agents spend most of a session waiting on a model. Paying for that idle time is how sandbox bills explode.
Create, run, pause, fork.
The whole agent loop is four calls. The machine arrives faster than the model decides what to do with it, and disappears the moment it is done.
- 01
A machine per agent
Claim a pre-booted microVM in under 200ms. Own kernel, own network fence, fresh credentials, nothing shared with another agent.
- 02
Run the loop
Exec commands, read/write files, expose a preview URL, or drive a full desktop. Every action returns a value your code can branch on.
- 03
Pause to $0
Between turns the machine pauses, freeing CPU and RAM to disk. Resume sub-second with variables and open files intact.
- 04
Fork to explore
Branch a machine like a repo to try two approaches in parallel, then keep the one that worked and discard the rest.
Everything the agent needs, one SDK.
- 01
Exec & filesystem
Run commands buffered, streamed or interactive; read and write the disk directly.
- 02
Preview URLs
Expose any port on a signed HTTPS host so the agent can serve and check its own work.
- 03
Computer use
On a VM, screenshot/click/type to drive GUI apps and a browser, not just a shell.
- 04
Snapshots & forks
Branch state to explore, and roll back a bad step instead of starting over.
- 05
Default-deny isolation
A fresh agent reaches nothing until you allow it; secrets are injected at the edge, never a file it can read.
- 06
Pause-to-zero
Idle turns are free, so an agent that thinks for a minute between actions costs nothing to keep alive.
The products that power it.
AI agents run on Sandal’s core compute, in whichever shape the task needs.
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
Give your agents somewhere to run.
A machine per agent, per turn, isolated, instant, and free while it thinks. Free tier included.
