smolvm CLI
CLI for microVMs: an isolated virtual machine with its own kernel for agents, sub-second boot, checkpoints and branching.
- 6,991 ★ on the repository
- Last commit
Extended access
Why this level
- The program runs virtual machines and may open the network and mount host folders according to your flags.
Install
- Works in
Manual install
brew install smol-machines/tap/smolvmThe first install command from the README (Homebrew on macOS).
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The program runs virtual machines and may open the network and mount host folders according to your flags.
This is third-party code. Review the repository files before installing.
What it does
smolvm runs lightweight virtual machines with their own kernel for AI agent workloads. Any OCI container image starts in under a second, memory is granted as needed and the network is off by default. Internet access can be limited to a host list with `--allow-host`. A machine can be saved while running, rewound or branched into copies that continue from the same point. A finished machine is packed into one `.smolmachine` file, pushed to an OCI registry or run as a standalone program. SDKs exist for Node, Python, Rust and Go. In `docs/`, each task has a `SKILL.md` an agent can follow.
Who it is for. Agent and platform developers who need to run untrusted or generated code in an isolated environment on their own laptop or server.
Good fit when
- An agent runs generated code that must be isolated from the host.
- An experiment must branch into several copies from one moment.
- A dev environment should move between machines as one file.
- Outbound traffic is allowed only to a few domains.
Not a fit when
- An ordinary Docker container without a separate kernel is enough.
- You need a GPU or a hypervisor your host cannot provide.
- The machine is too small for virtualization.
Example request
Create an `alpine` machine with no network, run my script in it and save a checkpoint before the run.Limitations
On Windows the Windows Hypervisor Platform and a manual release unzip are needed. Folders you mount into a machine are visible to the code inside, so the boundary decision stays with you. A checkpoint taken on an arm64 Mac is limited to the same CPU type. The install command downloads and runs a script from the project site through `curl ... | bash`, so read it before running. The smol cloud mode is separate and may be paid.
How to disable. Stop and delete machines with `smolvm machine stop` and `smolvm machine delete`, then remove the program, for example `brew uninstall smolvm`.
FAQ
How do I install it?
The first README command is `brew install smol-machines/tap/smolvm`. For macOS and Linux there is also `curl -sSL https://smolmachines.com/install.sh | bash`.
How is a machine different from a container?
Each machine has its own kernel and hardware isolation instead of a shared host process. Images still come from OCI.
Is networking on?
No, it is off by default. `--net` enables it and `--allow-host` limits addresses.
How do I rewind a machine?
Take a checkpoint with `smolvm machine checkpoint` and create a machine from it. Rewinding uses `--from <checkpoint> --at`.
Are there libraries for code?
Yes: `npm install smolmachines`, `pip install smolmachines`, `cargo add smolmachines` and a Go module. They drive machines from your process.
Discussion
No questions or reviews yet.
Related
CLI toolsAn MCP server built into the Netdata agent: metrics, logs, alerts and live process, service and container data for an AI assistant
dive explores Docker and OCI image layers, highlights file changes and estimates wasted space for inspection or CI checks.
PM2 is a process manager that saves background app lists for restart after reboot and displays their status in the terminal.
GitHub's official MCP server: code, issues, pull requests, Actions and security alerts straight from the agent
Vercel's skill for Turborepo monorepos: turbo.json setup, caching, filters and CI, driven by the docs bundled in the installed package
Nx CLI adopts npm, pnpm or yarn scripts, so teams introduce shared monorepo checks gradually while retaining their commands.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| smolvm (this card) | no | 6,991 | ||
| Vercel Sandbox | no | 219 | a Vercel cloud sandbox; smolvm runs microVMs locally with branching and checkpoints | |
| Agent-Sandbox | no | key is optional | 230 | an MCP sandbox for agents; smolvm gives a separate kernel and single-file machine packing |
README in short
The README covers local runs, embedding through SDKs, machine branching, single-file packing and the safety model, with links to task documentation.