---
title: "Sprites (preview)"
description: "Run Fabro workflows in persistent Sprites VMs from Fly.io"
---

<Warning>
The Sprites sandbox provider is **in progress** and not yet available for use. This page describes the planned integration. We'll update it when Sprites support ships.
</Warning>

[Sprites](https://sprites.dev) (by Fly.io) provides persistent, hardware-isolated Linux microVMs for Fabro workflows. Unlike ephemeral providers, Sprites VMs persist across runs with auto-sleep/wake — so dependencies stay installed and caches stay warm.

## How it works

- Each run creates (or reuses) a Sprite VM via the `sprite` CLI
- Agent tool calls (shell commands, file edits, grep, glob) execute via `sprite exec` inside the VM
- The working directory is `/home/sprite`
- Each Sprite has a preview URL (e.g. `https://<name>-<org>.sprites.app/`)
- VMs auto-sleep after inactivity and wake on the next command
- Pre-installed toolchains include ripgrep

## Configuration

```bash
fabro run workflow.fabro --sandbox sprites
```

```toml title="run.toml"
[sandbox]
provider = "sprites"
```

A full configuration example with all Sprites-specific options:

```toml title="run.toml"
[sandbox]
provider = "sprites"

[sandbox.sprites]
org = "my-org"
url_auth = "public"
sprite_name = "my-existing-sprite"
```

| Option | Description |
|---|---|
| `org` | Sprites organization name (passed as `--org` to the CLI) |
| `url_auth` | Preview URL auth mode: `"public"` or `"sprite"` (default) |
| `sprite_name` | Reuse an existing Sprite instead of creating a new one. Skips create and destroy — useful for development |

## Prerequisites

- The `sprite` CLI installed and authenticated (`sprite login`)
- A `SPRITE_TOKEN` environment variable (or interactive login)

## Reusing Sprites

Set `sprite_name` to reuse an existing Sprite across runs. When set, Fabro skips creation and destruction — the Sprite persists between runs with its filesystem intact:

```toml title="run.toml"
[sandbox.sprites]
sprite_name = "my-dev-sprite"
```

This is useful for development workflows where you want to keep installed dependencies and project state between runs.
