Vercel Sandboxes now persist filesystem state between sessions by default. No manual snapshots. No state tracking. Call Sandbox.create() and persistence is on. Each sandbox gets a durable, customizable name that acts as a stable reference across your project. Vercel handles spin-up and spin-down automatically.

Resuming is automatic: any method call on a stopped sandbox, such as runCommand() or writeFiles(), restores from the last snapshot and starts a new session. Snapshot storage is billed separately from compute. Ephemeral workloads can opt out by passing --non-persistent to sandbox create, which discards the filesystem on session end. The billing distinction matters if you are running high-volume, short-lived jobs.

The GA release ships several new primitives worth reading the full changelog for: Sandbox.fork() clones an existing sandbox, Sandbox.getOrCreate() gives you idempotent retrieve-or-create behavior for long-lived sandboxes, sandbox.stop() now returns snapshot metadata plus active-CPU and network-transfer totals, and a Tags API lets you assign custom properties for multi-tenant tracking. Upgrade with pnpm install @vercel/sandbox@latest.

[READ ORIGINAL →]