Sandboxes

Sandboxes that keep their state.

Firecracker microVMs for agent loops, dev servers, and untrusted code. Stop one and the files stay. Checkpoint one in about 15 ms, at any disk size.

One sandbox, start to fork.

A sandbox outlives the agent's turn. Here's what that gives you, beyond somewhere to run code.

Sandbox docs
sandbox.ts
TypeScript
const sandbox = await archil.createSandbox({
name: "agent-workspace",
baseImage: "python:3.13",
vcpuCount: 2,
memSizeMiB: 4096,
})

Bring any OCI image

Boot from a public OCI image and pick the vCPU count and memory. The root filesystem is an Archil disk.

agent-workspace/Ports
8000webPublic
8080apiToken
5432postgresPrivate

Preview URLs for anything it serves

Expose a dev server or any TCP service inside the sandbox on a public URL with one command.

agent-workspace

Checkpoint · tests green

branch · ~35 ms
agent-task-1

38 passed

Try: retry with backoff

agent-task-2

2 failed, 36 passed

Try: lock the queue

agent-task-3

38 passed

Try: rewrite the sync

Fork from a known-good point

Fork from a checkpoint: the disk branches in about 35 ms, and each copy tries something different.

Sandboxes
4 sandboxes
NameStateKeeps
agent-workspaceStoppedDisk
review-botPausedDisk and memory
docs-previewRunning—
nightly-evalsStoppedDisk

Stop or pause without losing a thing

Stopped, the disk stays and compute stops. Paused, memory is kept too, processes and all.

agent-workspace/Network
default: deny
*.github.comAllow
pypi.orgAllow
api.github.com+ API keyAllow
Everything elseDeny

Egress only where it needs to go

On Developer and up, deny by default, allow only what the agent needs, and have Archil add API keys to outgoing HTTP requests so the code never sees them.

The whole lifecycle in a few lines.

One SDK in TypeScript or Python. Pick any public OCI image, size it, and drive it from your agent.

Quickstart
sandbox.ts
TypeScript
import * as archil from "disk";
 
const sandbox = await archil.createSandbox({
name: "agent-workspace",
baseImage: "python:3.13",
vcpuCount: 2,
memSizeMiB: 4096,
});
 
await sandbox.processes.start("python agent.py").wait();
 
await sandbox.stop(); // the disk stays
await sandbox.start(); // boots from that same disk
 
const fork = await sandbox.fork({ name: "agent-task" });

Works with the rest of Archil.

Available in Archil's public AWS regions, and in BYOC deployments on any cloud or bare metal, set up in about an hour.

agent-data
3 mounts
checkpoints/agent-workspace
repo/your laptop
results.jsonnightly-evals

Archil disks

Mount the same disk your agents, people, and pipelines already use.

run_bash
Exited 0

$ cat /mnt/agent-data/results.json

{
  "suite": "evals",
  "passed": 412,
  "failed": 3,
  "commit": "a41c9e2"
}

Serverless tool calling

Give the agent a run_bash against the same files, no sandbox to manage.

Powering millions of agents each week. Trusted by teams at

    • ClayClay
    • Gamma
    • Gumloop
    • Cobbery
    • Concourse
    • Depot
    • microAGI

Start a sandbox in a few lines.