Skip to main content
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

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), and entrypoint 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).

Copy a Sandbox

Cloning a sandbox is done with tl sbx copy. It boots one or more new sandboxes from a running or suspended source, restoring filesystem, memory, and running processes so each copy warm-starts. Use -n to create several copies from the same source in one call. The source must be running or suspended. A running source is copied directly from the executor hosting it, and a suspended source is copied from the snapshot its suspend already produced, so a copy does not leave a new checkpoint behind for you to clean up. Copies inherit the source’s image, resources, entrypoint, network policy, and exposed ports. Names are unique per namespace, so copies cannot reuse the source’s name. A copy of a named sandbox is named <source-name>-copy by default, which keeps it suspendable and resumable like its source; an unnamed sandbox terminates at its idle timeout instead. Pass name to choose the name yourself; with more than one copy it is suffixed -1..-N.

Managing Snapshots

List Snapshots

Get Snapshot Details

Delete a Snapshot

checkpoint() Parameters

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.

Build and Import Images

Build reusable 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.