- Skip setup: install dependencies once, snapshot, and start every new sandbox ready to go.
- Branch from one state: run several experiments in parallel from the same starting point.
- Keep a known-good point: snapshot before a risky change and start fresh from it if something breaks.
Take a snapshot
You can snapshot anactive or paused sandbox. A running sandbox is paused briefly while the snapshot is taken, usually for under a second, and then continues. The first snapshot of a large sandbox can take longer.
snapshot() returns once the snapshot is ready.
Create a sandbox from a snapshot
Pass the snapshot, or its ID, asfromSnapshot / from_snapshot. You can’t combine it with fromTemplate.
What a fork starts with
- Machine: the snapshot’s vCPU, memory and disk size, and the template it was built on.
- Network rules: the original sandbox’s rules, unless you pass
network. They apply before anything in the fork runs. - Timeout: the original sandbox’s auto-pause timeout, unless you pass
timeoutSeconds/timeout_seconds. - Secrets: the original sandbox’s secrets are attached again. Secrets deleted since the snapshot are left out, and any secrets you pass are attached as usual.
- Environment: commands you run in the fork see the original sandbox’s environment, with your
envVars/env_varsand secrets added on top.
List, rename and delete
Snapshot.list(sandboxId) / Snapshot.list(sandbox_id).
Deleting a snapshot takes effect immediately and doesn’t affect sandboxes already created from it.
Limits
- 100 snapshots per team.
- 20 snapshots per sandbox.
- 4 snapshots being taken at once per team.
snapshot() fails with too_many_snapshots or too_many_snapshots_in_flight. Delete snapshots you no longer need to free up room, or contact support@superserve.ai to raise a limit.