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 1.3.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 39
Exit codes process statuses and their stable codes 17
The envelope fields across the success and error shapes 12
Response types distinct payload shapes 37
Wire schema daemon types under $defs 26

microvm accepts 39 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 wait Wait until a kept MicroVM answers: RUNNING, and then its daemon microvm.wait
microvm health Ask a running MicroVM’s daemon whether it is up, and what its identity repair did microvm.health
microvm discovery Discover the image default exec user; unavailable on older daemons microvm.discovery
microvm keepalive Keep a running MicroVM awake while work runs inside it, by polling its health microvm.keepalive
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 exists Say whether a path exists in a running MicroVM microvm.exists
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 adopt Adopt a MicroVM this invocation didn’t launch, through core’s lifecycle guards, and report what they read microvm.adopt
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 names List the names this machine’s registry holds, or delete one whose VM is gone microvm.names
microvm logs Name an image’s build log group and print the aws logs tail command that reads it microvm.logs
microvm image-versions List an image’s versions: each one’s build state, whether RunMicrovm launches it, and what it was built with microvm.image.versions
microvm gc Discover prefix-matched images and their VMs; --yes performs cleanup microvm.gc
microvm image-set-status Retire an image version (INACTIVE) or restore it (ACTIVE), and read the change back microvm.image.status
microvm image-builds List an image version’s builds, one per Graviton generation, or read one with --build-id microvm.image.builds
microvm cost What a run cost, or what a plan will cost. Every figure labelled microvm.cost
microvm egress-posture The egress posture run with these options would report, without launching microvm.egress-posture
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 39 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 39 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.