Linux microVMs · local first

Real Linux sandboxes.
On your machine.

grain runs small, disposable Linux VMs locally — for a shell, for GitHub Actions, or for a throwaway k3s lab. CLI, optional Desktop GUI, recipe library, and MCP — all talking to the same daemon. Ephemeral by default; persistent when you need it.

macOS · Linux · QEMU · Firecracker · Desktop · Recipes · MCP · Go · TypeScript · Python

Install

$ curl -fsSL https://raw.githubusercontent.com/cxdy/grain/main/scripts/install.sh | bash
$ brew install qemu
$ grain doctor

Places the CLI on your PATH and the guest agent under ~/.grain/agent/. QEMU is required for real VMs.

Try it here

Simulated terminal — switch scenarios, type commands, or click Run step.

Full tutorial →
~ — grain — interactive demo

$

How the docs are organized

Tutorials

Learn

Install, first shell, bootstrap, and recipe library.

Get started →

How-to

Do

Desktop, act/k3s, Firecracker, warm pool, mounts, networking.

Guides →

Agents

MCP

Host config and tools for coding agents.

MCP →

Reference

Look up

CLI, config, HTTP API, OpenAPI explorer, SDKs.

Reference →

Ready when you are

Free and open source. No metering. Laptop or bare metal.