> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vpod.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Suspend & resume

> Pause a running sandbox and resume it later.

A running sandbox can be suspended: its state is serialized to disk and reconstructed on demand when you resume it. Nothing keeps running in between — there is no daemon or background process to manage.

```python theme={null}
from vpod import Sandbox

with Sandbox.create() as sandbox:
    sandbox.commands.run("export SECRET=42")
    instance_id = sandbox.suspend()

# Later (even from a new process):
with Sandbox.resume(instance_id) as sandbox:
    result = sandbox.commands.run("echo $SECRET")
    print(result.stdout)  # 42

# Delete the suspended instance from disk when you no longer need it
Sandbox.destroy(instance_id)
```

Suspending only writes what changed since boot, which keeps the operation fast and the saved state small.

## Managing instances

| Method                     | Description                             |
| :------------------------- | :-------------------------------------- |
| `sandbox.suspend()`        | Suspend to disk, returns an instance ID |
| `Sandbox.resume(id)`       | Resume a suspended instance             |
| `Sandbox.list_instances()` | List all instances                      |
| `Sandbox.destroy(id)`      | Delete a suspended instance from disk   |

<Note>
  `sandbox.close()` shuts down a running sandbox but leaves suspended instances untouched — use `Sandbox.destroy(id)` to remove them from disk.
</Note>
