Docs

Moil docs

How to start a box, run work in it and keep the state you care about. This hub is a preview: commands and names may change before Moil opens up.

Preview CLI. The moil package and every command below are placeholders — nothing is published yet.

Quick start

1. Install the CLI

npx moil@latest

Signs you in and puts moil on your path.

2. Start a box

moil create --name dev
moil ssh dev                     # a shell inside the box
moil exec dev -- uname -a        # or one command, then back

3. Keep it, or throw it away

moil pause dev     # freeze it; memory and processes are kept
moil resume dev    # carry on exactly where it stopped
moil rm dev        # delete the box and its disk

4. Save the good state

moil snapshot dev --name dev-base
moil create --name dev2 --from dev-base
moil fork dev --count 3

Concepts

WordWhat it means
BoxA Firecracker microVM of your own: its own kernel, root, systemd and Docker. Files under /data survive restarts.
TemplateWhat a new box boots from — a base image with a desktop and browser, a CI image, or one of your snapshots.
SnapshotA saved copy of a box’s disks. New boxes can start from it; it is private to your workspace.
ForkA copy of a live box made on its host, with the same template and size. Memory is not copied.
OperationA lifecycle change (create, start, pause, resume, stop, delete) that you can follow until it succeeds or fails.
WorkspaceWhere boxes, snapshots, keys and secrets live. API keys are scoped to one workspace.

Box states

StateFilesMemory & processesUse it to
RunningkeptliveWork in it
PausedkeptkeptStep away, come back to the same session
StoppedkeptlostShut down; the next start boots fresh
DeletedgonegoneFree the slot for a new box

Idle boxes pause themselves after a while; a command, SSH session or request to one of their ports wakes them back up.

Coming next

  • Boxes & sizes soonLifecycle, sizes, idle auto-pause, logs, labels and environment.
  • Snapshots & forks soonSave, restore in place, start from a snapshot, fork a running box.
  • Desktop & browser soonScreenshots, input and handing control between agent and human.
  • Ports soonPublic and private URLs for a server running inside a box.
  • Secrets soonCredentials added at the egress proxy so code only sees placeholders.
  • CLI, HTTP API, SDK, MCP soonReference for every command, endpoint and tool.