Skip to main content
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.
Sprites (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

fabro run workflow.fabro --sandbox sprites
run.toml
[sandbox]
provider = "sprites"
A full configuration example with all Sprites-specific options:
run.toml
[sandbox]
provider = "sprites"

[sandbox.sprites]
org = "my-org"
url_auth = "public"
sprite_name = "my-existing-sprite"
OptionDescription
orgSprites organization name (passed as --org to the CLI)
url_authPreview URL auth mode: "public" or "sprite" (default)
sprite_nameReuse 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:
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.