Quick install
Install SmolVM with a single command:Manual install
If you prefer to install step by step:pip install smolvm pulls in the matching smolvm-core wheel automatically — most users do not need Rust installed.
Linux may prompt for
sudo during smolvm setup to install host dependencies (Firecracker, nftables, iproute2) and configure runtime permissions. On macOS, setup installs QEMU via Homebrew.newgrp kvm, or log out and back in.
Install from source
Build SmolVM from source when you want the latest unreleased changes, or when you plan to modify SmolVM itself. This compiles the Rust helper package (smolvm-core) locally instead of downloading a prebuilt wheel.
You need Git, uv (the Python package manager SmolVM uses), and the Rust toolchain.
1
Clone the repository
2
Build and install
smolvm-core from the Rust sources in the checkout.Confirm the local build loaded correctly:It prints a report of the native helpers available on your machine.
3
Set up the host and verify
smolvm setup installs host dependencies — Firecracker on Linux, QEMU on macOS — and configures permissions. smolvm doctor confirms your machine is ready to run sandboxes.uv run smolvm ... from the repository directory, so they use the build in your checkout. To use a plain smolvm command instead, activate the environment with source .venv/bin/activate.
For contribution guidelines, tests, and code style checks, see CONTRIBUTING.md.
Requirements
- Linux
- macOS
- Ubuntu, Debian, or Fedora (other distributions work but
smolvm setupmay not install host dependencies automatically) - KVM support — the kernel feature that lets SmolVM run virtual machines. Check with
ls /dev/kvm - x86_64 architecture
- Python 3.10+
SMOLVM_BACKEND is unset or auto, SmolVM picks the best backend that is actually installed on your machine. It prefers Firecracker on Linux and QEMU on macOS, and falls back through Firecracker → QEMU → libkrun so it never resolves to a hypervisor your host cannot run.
If nothing suitable is installed, smolvm sandbox create fails immediately with a plain-English message telling you what to install — before downloading the base image, so a missing hypervisor no longer costs you a multi-hundred-MB download.
To force a specific backend:
Optional extras
Install extras for agent framework examples or the web dashboard:Troubleshooting
Linux: KVM not available
Linux: KVM not available
If For cloud VMs, enable nested virtualization in your hypervisor settings.
/dev/kvm doesn’t exist, enable virtualization:Linux: Permission denied on /dev/kvm
Linux: Permission denied on /dev/kvm
Add your user to the
kvm group and activate it:macOS: qemu-system not found
macOS: qemu-system not found
Ensure Homebrew’s bin directory is in your
PATH:Uninstall
Next steps
Quickstart
Run your first sandbox in minutes
Basic usage
Learn about VM configuration options
Custom images
Build your own VM images with custom tools
API reference
Explore the complete API
