Skip to content

Reference

This tier is generated. Its pages are built from two files the binaries emit about themselves: docs/manifest.json, the output of microvm manifest at version 0.8.0, and docs/schema.json, the daemon’s JSON schema. Where a page states a count, the number is the length of an array in one of those files, so a page here cannot name a command or a code the binary does not have.

Page Holds Members
Commands one page per subcommand 28
Exit codes process statuses and their stable codes 17
The envelope fields across the success and error shapes 12
Response types distinct payload shapes 26
Wire schema daemon types under $defs 21

microvm accepts 28 commands, each with its own page. The order is the manifest’s, which is also the sidebar’s.

Command Summary Response type
microvm run Build an image, launch a VM, run a command, report the cost, tear it down microvm.run
microvm quickstart Zero to a live exec: provision the daemon, build, launch, run, report, tear down microvm.run
microvm build Build a MicroVM image and wait for it to be usable microvm.image
microvm agent-up Bring up a VM with a coding agent in it: image, launch, model credentials, non-root user microvm.agent
microvm agent-prompt Hand a coding agent in a running agent VM one task, headless, as the non-root user microvm.agent.prompt
microvm exec Run one command in a MicroVM that is already running microvm.exec
microvm health Ask a running MicroVM’s daemon whether it is up, and what its identity repair did microvm.health
microvm ack Release a finished exec’s buffered output, which starts its collection clock microvm.exec
microvm kill Stop a running exec: SIGTERM its whole process group, SIGKILL after the daemon’s grace microvm.kill
microvm ps List what is running in a MicroVM: every exec’s process group and its live pids microvm.procs
microvm stdin Write to a running exec’s stdin, and optionally close it microvm.stdin
microvm cp Copy a file or a tar archive between here and a running MicroVM microvm.copy
microvm sync Sync a project directory into a running MicroVM’s /workspace, uploading only what changed microvm.sync
microvm attach Register a name for a running MicroVM this state directory did not launch microvm.attach
microvm tunnel Tunnel arbitrary TCP to a guest port, so psql or ssh here reaches a server in the VM microvm.tunnel
microvm port-forward Serve a guest port on localhost, so a browser here reaches a server in the VM microvm.port-forward
microvm shell Open an interactive root shell in a running MicroVM — a real PTY, with job control, signals, and resize microvm.shell
microvm suspend Freeze a MicroVM. It keeps its memory, filesystem, token, and endpoint microvm.state
microvm resume Thaw a suspended MicroVM and report its endpoint microvm.state
microvm terminate Tear down a MicroVM, and optionally its image and build log group microvm.teardown
microvm ls List what this CLI created and could not confirm it deleted; --remote asks the account too microvm.runs
microvm history Print what was asked of one MicroVM and what the platform reported back microvm.history
microvm logs Name an image’s build log group and print the aws logs tail command that reads it microvm.logs
microvm cost What a run cost, or what a plan will cost. Every figure labelled microvm.cost
microvm doctor Check every prerequisite and say which one is wrong microvm.doctor
microvm manifest Emit the whole command surface, its exit codes, and its envelope schema microvm.manifest
microvm constants Emit every service constraint this client believes, for the drift gate microvm.constants
microvm dockerfile Print the Dockerfile stanza that wraps any base image with agentd microvm.dockerfile

The manifest publishes 3 command-wide flags under globalFlags. Each parses on either side of the subcommand, so microvm --json ls and microvm ls --json are the same invocation, and none appears in any command’s own parameter table.

Flag Type Default Help
--json boolean none Emit the typed JSON envelope on stdout instead of human output
--dense boolean none Token-lean output, for a consumer paying per token: tab-separated alone, compact one-line JSON with --json
--quiet boolean none Suppress progress on stderr. Warnings still print

The manifest marks each command with supportsJson, and all 28 set it. So --json is accepted by every command, selects the envelope described on The envelope, and is left out of every per-command parameter table rather than repeated 28 times.

The manifest names no command-wide flag beyond these 3, so a flag neither this table nor a command page lists is not part of that command’s surface as the manifest states it.

3 further pages share this directory and are not generated from the manifest. They were produced by a per-file documentation pass over the source tree, and every factual claim in them carries a path:line citation:

This page is generated from docs/manifest.json, the output of microvm manifest, together with docs/schema.json for the wire-schema page. site/scripts/gen-reference.mjs writes it into the site’s content directory on every pnpm run sync, so an edit made here is overwritten by the next run.

To change the page, change the source. Regenerate the source with mise run manifest from the repository root; mise run manifest:check fails when the committed file no longer matches what the binary emits.