# Fuse > A control plane for provisioning sandboxed compute environments on your own hosts. ## Changelog - [v0.29.2](/changelog/v0-29-2) - [v0.29.1](/changelog/v0-29-1) - [v0.29.0](/changelog/v0-29-0) - [v0.28.0](/changelog/v0-28-0) - [v0.27.0](/changelog/v0-27-0) - [v0.26.0](/changelog/v0-26-0) - [v0.25.0](/changelog/v0-25-0) - [v0.24.0](/changelog/v0-24-0) - [v0.23.0](/changelog/v0-23-0) - [v0.22.2](/changelog/v0-22-2) - [v0.22.1](/changelog/v0-22-1) - [v0.22.0](/changelog/v0-22-0) - [v0.21.0](/changelog/v0-21-0) - [v0.20.0](/changelog/v0-20-0) - [v0.19.0](/changelog/v0-19-0) - [v0.18.0](/changelog/v0-18-0) - [v0.17.0](/changelog/v0-17-0) - [v0.16.0](/changelog/v0-16-0) - [v0.15.0](/changelog/v0-15-0) - [v0.14.0](/changelog/v0-14-0) - [v0.13.1](/changelog/v0-13-1) - [v0.13.0](/changelog/v0-13-0) - [v0.12.0](/changelog/v0-12-0) - [v0.11.0](/changelog/v0-11-0) - [v0.10.0](/changelog/v0-10-0) - [v0.9.2](/changelog/v0-9-2) - [v0.9.1](/changelog/v0-9-1) - [v0.9.0](/changelog/v0-9-0) - [v0.8.0](/changelog/v0-8-0) - [v0.7.0](/changelog/v0-7-0) - [v0.6.0](/changelog/v0-6-0) - [v0.5.0](/changelog/v0-5-0) - [v0.4.0](/changelog/v0-4-0) - [v0.3.0](/changelog/v0-3-0) - [v0.2.0](/changelog/v0-2-0) - [v0.1.0](/changelog/v0-1-0) - [v0.0.1](/changelog/v0-0-1) ## Docs ### Learn - [Overview](/docs/learn): Sandboxed microVMs for agent code, running on hardware you own - [Quickstart](/docs/learn/quickstart): Install the CLI, point it at your orchestrator, and bring up your first environment - [Your first Fusefile](/docs/learn/first-fusefile): The smallest Fusefile that boots, explained line by line - [Lesson 2: Snapshot and roll back](/docs/learn/snapshot-and-rollback): Capture an environment's disk, make a change you regret, and undo it - [Lesson 3: Fork to reproduce a bug](/docs/learn/fork-to-debug): Copy a running environment so you can break the copy safely ### Guides - [Local development](/docs/guides/local-development): Run the real fuse stack on your own machine with fuse local - [AI agent sandboxes](/docs/guides/agent-sandboxes): Give an autonomous agent a disposable, isolated place to run code - [Desktop environments](/docs/guides/desktop-environments): Bake a rootfs that boots to a working X session, so an environment has a screen to drive - [Computer use](/docs/guides/computer-use): Point Claude's computer use tool at a Fuse environment and let it drive the desktop - [Ephemeral CI runners](/docs/guides/ci-runners): A clean, isolated VM per build, with snapshots to skip the slow parts - [GPU batch and training jobs](/docs/guides/gpu-workloads): Whole-device and fractional MIG GPU passthrough for workloads that need real hardware - [Interactive remote debugging](/docs/guides/interactive-debugging): A real terminal into a fresh, isolated VM, for reproducing bugs without touching a shared host - [Editor setup](/docs/guides/editor-setup): Syntax highlighting, completion, and inline validation for Fusefiles ### Concepts - [Fusefile](/docs/concepts/fusefile): The declarative spec format for a Fuse environment - [Providers: Firecracker vs QEMU](/docs/concepts/providers): The two virtualization backends Fuse schedules onto, and how they differ - [Hosts](/docs/concepts/hosts): The machines Fuse schedules microVMs onto - [Environments](/docs/concepts/environments): The VM lifecycle: one microVM and the task running inside it - [Snapshots](/docs/concepts/snapshots): Capturing and restoring a running microVM's state - [The layer cache](/docs/concepts/layer-cache): How setup layers are identified, moved between hosts, and collected - [Artifacts: rootfs bake, fc-agent, and fused](/docs/concepts/artifacts): What gets built and baked to run a microVM, and the two agents involved - [Scheduling and placement](/docs/concepts/scheduling): How the orchestrator picks a host for an environment - [The reconcile loop](/docs/concepts/reconcile): The background sweep that detects leaked VMs and runaway tasks - [State and recovery](/docs/concepts/state-and-recovery): Why the orchestrator runs as a single replica, and what survives a restart ### Cloud - [Overview](/docs/cloud): Deploying Fuse for real workloads: orchestrator, hosts, and GPU hosts - [Deploying the orchestrator](/docs/cloud/orchestrator-deploy): Running the control plane as a long-lived service - [Firecracker host setup](/docs/cloud/firecracker-host-setup): Bringing up a bare-metal or nested-virt host to run Firecracker microVMs - [GPU (QEMU) host setup](/docs/cloud/gpu-host-setup): Whole-GPU passthrough via QEMU/VFIO - [Monitoring](/docs/cloud/monitoring): Prometheus metrics, health checks, and what to alert on - [Security hardening](/docs/cloud/security): TLS, CIDR allowlisting, fail-closed mode, and secrets encryption - [Troubleshooting and known issues](/docs/cloud/troubleshooting): Common install/setup problems and known limitations, with workarounds ## Reference - [Overview](/reference): SDKs, CLI, and HTTP API reference for driving a Fuse orchestrator - [Authentication](/reference/auth): How the orchestrator authenticates callers, across the CLI, SDKs, and browser ### Go SDK - [Overview](/reference/go): Install the Go SDK and construct a client - [Quickstart](/reference/go/quickstart): Provision a microVM, tail its lifecycle, and tear it down - [Environments](/reference/go/environments): Provisioning, running commands in, and tearing down microVMs - [Hosts](/reference/go/hosts): Registering and managing the compute hosts the scheduler places VMs onto - [Snapshots](/reference/go/snapshots): Capturing and restoring a running microVM's state - [API keys](/reference/go/api-keys): Issuing and revoking orchestrator-global API keys - [Errors](/reference/go/errors): APIError, error codes, and the Is* helpers - [Advanced usage](/reference/go/advanced): Custom transports, retries, request correlation, and testing ### TypeScript SDK - [Overview](/reference/typescript): Install the TypeScript SDK and construct a client - [Quickstart](/reference/typescript/quickstart): Provision a microVM, tail its lifecycle, and tear it down - [Environments](/reference/typescript/environments): Provisioning, running commands in, and tearing down microVMs - [Hosts](/reference/typescript/hosts): Registering and managing the compute hosts the scheduler places VMs onto - [Snapshots](/reference/typescript/snapshots): Capturing and restoring a running microVM's state - [API keys](/reference/typescript/api-keys): Issuing and revoking orchestrator-global API keys - [Errors](/reference/typescript/errors): FuseApiError, FuseError, error codes, and the is* helpers - [Advanced usage](/reference/typescript/advanced): Custom fetch, retries, request correlation, and testing ### Python SDK - [Overview](/reference/python): Install the Python SDK and construct a client - [Quickstart](/reference/python/quickstart): Provision a microVM, tail its lifecycle, and tear it down - [Environments](/reference/python/environments): Provisioning, running commands in, and tearing down microVMs - [Hosts](/reference/python/hosts): Registering and managing the compute hosts the scheduler places VMs onto - [Snapshots](/reference/python/snapshots): Capturing and restoring a running microVM's state - [API keys](/reference/python/api-keys): Issuing and revoking orchestrator-global API keys - [Errors](/reference/python/errors): ApiError, error codes, and the is_* predicates - [Advanced usage](/reference/python/advanced): Custom transports, retries, request correlation, and testing ### CLI - [CLI overview](/reference/cli): Install and configure the fuse operator CLI - [fuse quickstart](/reference/cli/quickstart): Guided first-time setup, connect an orchestrator and register a host - [fuse up](/reference/cli/up): Compile a Fusefile and create an environment from it - [fuse build](/reference/cli/build): Run a Fusefile's setup phase once and snapshot the result - [fuse validate](/reference/cli/validate): Check a Fusefile without creating an environment - [fuse init](/reference/cli/init): Scaffold an example Fusefile - [fuse compile](/reference/cli/compile): Print what a Fusefile compiles into, without creating anything - [fuse metrics](/reference/cli/metrics): Print fleet-wide Prometheus metrics from the orchestrator #### Local - [Local](/reference/cli/local): Run the real fuse stack on this machine for development #### Contexts - [Overview](/reference/cli/contexts): Managing orchestrator contexts - [fuse connect](/reference/cli/contexts/connect): Add an orchestrator context and make it active - [fuse context list](/reference/cli/contexts/list): List saved contexts - [fuse context use](/reference/cli/contexts/use): Switch the active context - [fuse context remove](/reference/cli/contexts/remove): Delete a saved context - [fuse context current](/reference/cli/contexts/current): Show the active context's details #### Hosts - [Overview](/reference/cli/hosts): Managing compute hosts - [fuse hosts list](/reference/cli/hosts/list): List all registered hosts, or select an active one - [fuse host register](/reference/cli/hosts/register): Register a new compute host - [fuse host get](/reference/cli/hosts/get): Show a host's details - [fuse host cordon](/reference/cli/hosts/cordon): Mark a host unschedulable - [fuse host uncordon](/reference/cli/hosts/uncordon): Return a host to active scheduling - [fuse host remove](/reference/cli/hosts/remove): Deregister a host - [fuse host metrics](/reference/cli/hosts/metrics): Show a host's capacity vs. allocated #### Environments - [Overview](/reference/cli/environment): Managing environments (VMs) - [fuse environment list](/reference/cli/environment/list): List environments, filtered - [fuse environment get](/reference/cli/environment/get): Show one environment's details - [fuse environment create](/reference/cli/environment/create): Provision a new environment from a raw resource spec - [fuse environment destroy](/reference/cli/environment/destroy): Tear down an environment - [fuse environment drain](/reference/cli/environment/drain): Gracefully drain (phase one of teardown) - [fuse environment fork](/reference/cli/environment/fork): Fork an environment into a new one - [fuse environment rotate-token](/reference/cli/environment/rotate-token): Re-issue guest agent credentials - [fuse environment watch](/reference/cli/environment/watch): Stream state transitions until terminal - [fuse environment exec](/reference/cli/environment/exec): Run a command inside a running environment's guest and print its output - [fuse environment shell](/reference/cli/environment/shell): Attach an interactive terminal to a running environment's guest #### Computer - [Overview](/reference/cli/computer): Drive a desktop environment's screen, mouse and keyboard by hand - [fuse computer screenshot](/reference/cli/computer/screenshot): Capture a desktop environment's screen to a PNG - [fuse computer click](/reference/cli/computer/click): Left-click at a coordinate on a desktop environment's screen - [fuse computer type](/reference/cli/computer/type): Type text into a desktop environment's focused window - [fuse computer key](/reference/cli/computer/key): Send a key or key combo to a desktop environment #### Snapshots - [Overview](/reference/cli/snapshot): Managing VM snapshots - [fuse snapshot create](/reference/cli/snapshot/create): Snapshot a running environment - [fuse snapshot list](/reference/cli/snapshot/list): List snapshots, filtered - [fuse snapshot get](/reference/cli/snapshot/get): Show one snapshot's details - [fuse snapshot delete](/reference/cli/snapshot/delete): Delete a snapshot - [fuse snapshot restore](/reference/cli/snapshot/restore): Restore a snapshot in place #### API keys - [Overview](/reference/cli/apikeys): Managing orchestrator-global API keys - [fuse apikeys create](/reference/cli/apikeys/create): Issue a new API key - [fuse apikeys list](/reference/cli/apikeys/list): List API key metadata - [fuse apikeys revoke](/reference/cli/apikeys/revoke): Revoke an API key ### API - [Fuse Orchestrator API](/reference/api) #### API keys - [Create API key](/reference/api/api-keys/createapikey) - [List API keys](/reference/api/api-keys/listapikeys) - [Revoke API key](/reference/api/api-keys/revokeapikey) #### Auth - [Log in](/reference/api/auth/login) - [Log out](/reference/api/auth/logout) #### Environments - [Act on an environment](/reference/api/environments/environmentaction) - [Attach to environment](/reference/api/environments/attachenvironment) - [Create environment](/reference/api/environments/createenvironment) - [Destroy environment](/reference/api/environments/destroyenvironment) - [Drive the environment's desktop](/reference/api/environments/computeraction) - [Get environment](/reference/api/environments/getenvironment) - [List environments](/reference/api/environments/listenvironments) - [Report the environment's display](/reference/api/environments/computerdisplay) - [Stream environment events](/reference/api/environments/streamenvironmentevents) - [Stream the environment's desktop live](/reference/api/environments/computerstream) #### Health - [Check liveness](/reference/api/health/liveness) - [Check readiness](/reference/api/health/readiness) - [Identify the orchestrator](/reference/api/health/version) - [Scrape Prometheus metrics](/reference/api/health/metrics) #### Hosts - [Fetch a host by ID](/reference/api/hosts/gethost) - [List registered hosts](/reference/api/hosts/listhosts) - [Perform an action on a host](/reference/api/hosts/hostaction) - [Register or update a host](/reference/api/hosts/registerhost) - [Remove a host from the scheduler](/reference/api/hosts/removehost) #### Snapshots - [Delete a leaf snapshot](/reference/api/snapshots/deletesnapshot) - [Get a snapshot](/reference/api/snapshots/getsnapshot) - [List snapshots](/reference/api/snapshots/listsnapshots) - [Perform a snapshot action](/reference/api/snapshots/snapshotaction) - [Resolve a build layer](/reference/api/snapshots/resolvesnapshot) - [Snapshot a running VM](/reference/api/snapshots/createsnapshot)