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

# Snapshots

> Create, delete, and restore instance snapshots using CLI commands. Ensure data persistence and safety.

export const QuickstartCard = ({ title, icon, href, children, selected }) => {
  const enter = e => { if (selected) return; const el = e.currentTarget; el.style.borderColor = '#555'; el.querySelector('[data-title]').style.color = '#fff'; el.querySelector('[data-sub]').style.opacity = '0.7'; el.querySelector('[data-icon]').style.opacity = '0.7'; };
  const leave = e => { if (selected) return; const el = e.currentTarget; el.style.borderColor = '#333'; el.querySelector('[data-title]').style.color = ''; el.querySelector('[data-sub]').style.opacity = '0.5'; el.querySelector('[data-icon]').style.opacity = '0.35'; };
  return (
  <a href={href} className="group" style={{ textDecoration: 'none', borderBottom: 'none', color: 'inherit', display: 'block', marginBottom: '0.75rem' }}>
    <div className="border rounded-xl p-5 transition-all duration-150 border-zinc-200 dark:border-zinc-800" style={{
      minHeight: '8rem',
      height: '100%',
      borderWidth: '1.5px',
      borderColor: selected ? '#95c5ea' : '#333',
    }} onMouseEnter={enter} onMouseLeave={leave}>
      <div data-icon style={{ marginBottom: '0.75rem', opacity: selected ? 1 : 0.35, transition: 'opacity 0.15s ease' }}>
        <Icon icon={icon} size={24} color="#95c5ea" />
      </div>
      <div data-title style={{ fontWeight: 600, fontSize: '1.05rem', marginBottom: '0.25rem', color: selected ? '#fff' : undefined, transition: 'color 0.15s ease' }}>{title}</div>
      <div data-sub style={{ fontSize: '0.9rem', opacity: selected ? 0.7 : 0.5, transition: 'opacity 0.15s ease' }}>{children}</div>
    </div>
  </a>
  );
};

<Columns cols={3}>
  <QuickstartCard title="VS Code" icon="window" href="/docs/vscode/operations/snapshots">
    Editor extension
  </QuickstartCard>

  <QuickstartCard title="CLI" icon="terminal" href="/docs/cli/operations/snapshots" selected={true}>
    Command line
  </QuickstartCard>

  <QuickstartCard title="Console" icon="browser" href="/docs/console/operations/snapshots">
    Web interface
  </QuickstartCard>
</Columns>

## Create a Snapshot

Use the interactive menu:

```bash theme={null}
tnr snapshot create
```

Or specify the instance and name directly:

```bash theme={null}
tnr snapshot create --instance-id 0 --name my-environment
```

Snapshotting happens in the background—you can continue using your instance immediately. The snapshot captures the exact state of the persistent disk at the moment you initiated it.

<Note>
  There is a limit of 50 snapshots.
</Note>

<Note>
  Snapshots can only be created from instances in `RUNNING` state.
</Note>

## List Snapshots

View all your snapshots with their status, size, and creation date:

```bash theme={null}
tnr snapshot list
```

Status values:

* **READY**: Snapshot is complete and can be used
* **CREATING**: Snapshot is still being created
* **FAILED**: Snapshot creation failed

## Delete a Snapshot

Remove snapshots you no longer need:

```bash theme={null}
# Interactive selection
tnr snapshot delete

# Delete by name
tnr snapshot delete my-environment
```

<Warning>
  Deleting a snapshot is permanent and cannot be undone.
</Warning>

## Restore from a Snapshot

When creating a new instance, your snapshots appear alongside templates:

```bash theme={null}
tnr create
# Select your snapshot in the "Templates" step
```

The new instance's disk size must be at least as large as the snapshot. The CLI enforces this automatically.

<Note>
  Restoring from a snapshot can take up to 8 minutes per 100GB of data. The instance shows as `RESTORING` during this time.
</Note>

## Best Practices

1. **Name snapshots descriptively**: Include the project, date, or purpose (e.g., `llama-finetuned-jan2026`)

2. **Clean up unused snapshots**: To minimize your bill, remove snapshots you no longer need.

## Snapshots vs External Backups

Snapshots are great for quickly restoring your environment, but they’re meant for convenience rather than long-term data security. We do not provide explicit guarantees about snapshot durability. For long-term data preservation, consider using:

* **GitHub** for code and configuration
* **Local downloads** for important outputs
* **Cloud storage** (R2, Google Drive) for large files

To learn about optimizing the a snapshot for faster creation and restoration, refer to our [Speeding Up Snapshots](/docs/guides/speeding-up-snapshots) guide.
