Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tensorlake.ai/llms.txt

Use this file to discover all available pages before exploring further.

Snapshots support two snapshot types:
  • filesystem: captures filesystem state and restores with a cold boot.
  • memory: captures filesystem, memory, and running process state and restores with a warm start.
When you do not specify a type, Tensorlake uses filesystem by default. 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. If you only need to pause a single sandbox in place rather than produce a reusable artifact, use suspend/resume instead.

Creating a Snapshot

tl sbx checkpoint <sandbox-id>
tl sbx checkpoint <sandbox-id> --checkpoint-type filesystem
tl sbx checkpoint <sandbox-id> --checkpoint-type memory
tl sbx checkpoint <sandbox-id> --timeout 600

Restoring from a Snapshot

Create a new sandbox from a snapshot. If the snapshot is filesystem (default), the new sandbox restores the captured filesystem. You can change sandbox resources (CPU, memory, disk) for the new sandbox. If the snapshot is memory, the new sandbox restores filesystem, memory, and running processes exactly as they were. Image, resources (CPUs, memory), entrypoint, and secrets come from the snapshot and cannot be changed at restore time. If you need different resources, create a fresh sandbox instead of restoring. For filesystem snapshots, you can pass --disk_mb / resources.disk_mb at restore time to grow root disk size (growth-only).
tl sbx create --snapshot <snapshot-id>

Clone a Sandbox

tl sbx clone creates a memory checkpoint and immediately boots a new sandbox from it, so the clone warm-restores filesystem, memory, and running processes from the source. The intermediate snapshot persists — it shows up in tl sbx checkpoint ls and counts toward storage until you delete it with tl sbx checkpoint rm <snapshot-id>.
tl sbx clone <sandbox-id>
tl sbx clone <sandbox-id> --timeout 600

Managing Snapshots

List Snapshots

tl sbx checkpoint ls

Get Snapshot Details

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

Delete a Snapshot

tl sbx checkpoint rm <snapshot-id>

checkpoint() Parameters

ParameterTypeDefaultDescription
sandbox_idstrID of the running sandbox to snapshot
checkpoint_typeCheckpointType (Python) / CheckpointType (TypeScript: "memory" | "filesystem")server default (currently filesystem)Checkpoint type. FILESYSTEM captures filesystem-only state; MEMORY captures filesystem + VM memory + running processes.
timeoutfloat300Max seconds to wait for completion
poll_intervalfloat1.0Seconds between status polls
CheckpointType is exported from tensorlake.sandbox (Python) and tensorlake (TypeScript). The TypeScript field on CheckpointOptions is checkpointType.

Lifecycle

Create, suspend, resume, and terminate sandboxes — the operations snapshots build on.

Sandbox Images

Build reusable base images. Pair with snapshots for warm starts on top of pinned dependencies.

Computer Use

Snapshot a warmed-up ubuntu-vnc desktop and fork parallel agent sessions.

Drive Chrome over CDP

Snapshot a Chrome profile so parallel browser agents start with cookies and history already in place.