Start

Quick start

Install the CLI, start a box, get a shell, clean up.

1. Install and sign in

npx moil@latest

This puts moil on your path and signs you in with a device code: the CLI prints a short code, your browser opens, you confirm it. The free plan needs no card.

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

A new box boots from the desktop template with 4 vCPU, 8 GiB of memory and a 20 GiB disk at /data. create waits until the box is running, so the next command can use it straight away.

Inside, you are a normal user with passwordless sudo. Docker, Node.js, Python, Go and Rust are already installed; install anything else the usual way and it stays.

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 disks

Pausing is the cheap way to step away: the box stops paying for compute and comes back with its processes still running. If you forget, an idle box pauses itself after 30 minutes.

4. Save the state that works

moil snapshot dev --name dev-base
moil create --name dev2 --from dev-base

Once a box has your repos, tools and sign-ins on it, save it. Every box you start from that snapshot begins exactly there. To try three things at once from a running box, fork it instead.

Without a browser

CI jobs and agents with nobody at the keyboard use an API key instead of a sign-in:

export MOIL_API_KEY=…            # from the dashboard, or: moil keys create --name laptop
npm install -g moil              # the CLI on its own, no browser sign-in
moil create --name job --template base

Keys belong to one workspace. Give each job or agent its own key so you can revoke one without touching the rest.

Using a coding agent? Tell it: “create a Moil box called dev and run the tests in it”. With the CLI installed it can do every step on this page itself.