Overview
Sandboxed microVMs for agent code, running on hardware you own
Fuse gives agent code a real machine to run in: a Firecracker microVM, hardware-isolated from the host and from every other environment, created and destroyed through one API. Unlike hosted sandbox services, Fuse runs on hardware you own, so guest code and the data it touches never leave your infrastructure. You describe what you want in a Fusefile, and Fuse schedules it onto a host, boots it, tracks it through its lifecycle, and tears it down.
Try it
No server to stand up first. fuse local up runs the real stack (orchestrator, host
agent, and actual Firecracker microVMs) on your own machine.
brew install --cask folsomintel/fuse/fuse
fuse local up
Describe the environment you want in a Fusefile:
version: 1
resources:
cpus: 2
memory: 2GB
run: echo "hello from $(hostname)" > hello.txt
Boot it, then reach inside:
fuse up
fuse environment exec <id> -- cat /workspace/hello.txt
The four pieces
Everything in Fuse is one of four things. Learn these and the rest of the docs reads easily.
| Piece | What it is | You drive it with |
|---|---|---|
| Orchestrator | The control plane: one HTTP API, a scheduler, and the source of truth for every environment, host, and snapshot. | fuse connect, the SDKs, the REST API |
| Host | A machine running a host agent (fc-agent for Firecracker, qemu-agent for GPUs). You register hosts; the orchestrator schedules onto them. |
fuse host register |
| Environment | One microVM and the task inside it, tracked through provision → running → drain → destroy. | A Fusefile and fuse up |
| Snapshot | A captured running microVM you can restore or fork from later. | fuse snapshot create |
The CLI never runs a VM itself. It is a client: it talks to the orchestrator, and the orchestrator talks to your hosts.
Why Fuse
- Your hardware, your data. Guest code never leaves machines you control.
- One-script host setup. The hard part of Firecracker has always been getting it running: host config, the in-guest agent, building a rootfs. One command brings up a host with the agent installed and a rootfs baked and ready.
- Scheduling across a fleet. Register hosts and Fuse places microVMs for you.
- GPUs, whole or fractional. Full passthrough or MIG instances, routed to QEMU/VFIO hosts.
- Snapshot and fork. Capture a running microVM, restore it, or branch a copy to debug a failure without disturbing the original.
- Built to be driven. REST API, Go/Python/TypeScript SDKs, SSE event streams, and Prometheus metrics out of the box.
- Open source. MIT licensed, no hosted dependency.
Pick your path
You have a laptop and want to see it work. Start with the
Quickstart and fuse local up. Nothing else to provision.
You have machines and want a real fleet. Deploy the
orchestrator, then set up a
Firecracker host or a
GPU host, and point the CLI at it with fuse quickstart.
Where to go next
Quickstart
Your first Fusefile
Concepts
Guides
Reference
Cloud