Skip to main content
Snapshots capture the full state of a running sandbox — filesystem, memory, and running processes. Use them to save work mid-session and restore it later in a new sandbox. Snapshots are independent of sandbox lifecycle — once captured, the artifact persists after the source sandbox is terminated. This means you can snapshot an ephemeral sandbox before it ends, then restore that state into a new sandbox much later.

Creating a Snapshot

tl sbx snapshot <sandbox-id>
tl sbx snapshot <sandbox-id> --timeout 600

Restoring from a Snapshot

Create a new sandbox from a snapshot. The new sandbox restores the captured filesystem, memory, and running processes exactly as they were — image, resources (CPUs, memory), entrypoint, and secrets all come from the snapshot and cannot be changed at restore time. If you need different resources, create a fresh sandbox instead of restoring.
tl sbx new --snapshot <snapshot-id>

Clone a Sandbox

tl sbx clone creates a snapshot and immediately boots a new sandbox from it. The intermediate snapshot persists — it shows up in tl sbx snapshot ls and counts toward storage until you delete it with tl sbx snapshot rm <snapshot-id>.
tl sbx clone <sandbox-id>
tl sbx clone <sandbox-id> --timeout 600

Managing Snapshots

List Snapshots

tl sbx snapshot ls

Get Snapshot Details

const info = await client.getSnapshot("snapshot-id");
console.log(info.status, info.baseImage, info.sizeBytes);

Delete a Snapshot

tl sbx snapshot rm <snapshot-id>

snapshot_and_wait Parameters

ParameterTypeDefaultDescription
sandbox_idstrID of the running sandbox to snapshot
timeoutfloat300Max seconds to wait for completion
poll_intervalfloat1.0Seconds between status polls