Local CLI Quick Start
Use the smolvm CLI to run Linux workloads in local microVMs. Each workload gets its own guest kernel. No Docker daemon is required.
Install
macOS and Linux
curl -sSL https://smolmachines.com/install.sh | bash
smolvm --help On macOS, the supported release path is Apple Silicon with macOS 11 or later. On Linux, the host architecture can be x86_64 or aarch64 and must expose KVM at /dev/kvm.
Windows
- Enable Windows Hypervisor Platform (WHP).
- Download the
windows-x86_64zip from the v1.7.1 release. - Extract the full archive so
smolvm.exe,krun.dll, andlibkrunfw.dllremain together. - Run
smolvm.exe --helpfrom PowerShell.
Native Windows runs x86_64 Linux guests. WSL2 is an alternative on Windows 11 only when nested virtualization and KVM are available.
Run an ephemeral machine
smolvm machine run --net --image alpine -- sh -c \
"echo 'Hello from a microVM' && uname -a" The machine exists only for this command and is cleaned up when the command exits.
machine runselects the ephemeral lifecycle--image alpinepulls and boots the Alpine OCI image--netenables networking. Networking is off by default--separates smolvm flags from the command that runs in the guest
For an interactive shell:
smolvm machine run --net -it --image alpine -- /bin/sh Create a persistent machine
smolvm machine create --net --image alpine --name dev
smolvm machine start --name dev
smolvm machine exec --name dev -- apk add git
smolvm machine exec --name dev -- git --version
smolvm machine stop --name dev This machine keeps filesystem changes across exec sessions and stop/start cycles.
machine createrecords the machine and its configurationmachine startboots itmachine execruns a command in the existing machinemachine stopstops the VM without deleting its disk state
Delete the machine when you no longer need it:
smolvm machine delete --name dev See Machine Lifecycle and CLI Reference for the selected command reference and Examples for more local workflows.