Skip to content

CLI reference

Last updated: 2026-06-27

I want to…Use
Run something once and throw it awayrun
Keep a workspace around between bootscreate, then start
Get a shell inside a workspaceconnect
Run a command inside and get its exit codeexec
Copy files in or outcp
See saved workspaceslist or ls
See what’s runningps
Dig into one workspacestatus
See what the VM printed at bootlogs
Get the structured result of a runresult
Park it / shut it down / force ithalt / stop / kill
Freeze it in place, memory and allpause / resume
Checkpoint or fork itsnapshot, clone
Get rid of itdelete
Figure out why nothing bootsdoctor
CommandPurpose
initScaffold a starter agent project
runBoot an image and run a command, then tear down
createCreate a named, persistent workspace
applyApply supported workspace spec changes without rebuilding
cloneCopy a stopped workspace into a new workspace
commitSnapshot a stopped workspace rootfs into an OCI image
cpCopy files into or out of stopped workspace disks
artifactList and retrieve declared workspace artifacts
networkInspect declared network intent and runtime network state
modelDownload and manage local HuggingFace GGUF model files
volumeManage named volumes - VM-independent ext4 disks attached by name
startBoot a stopped workspace
superviseStart and restart a workspace according to policy
haltClean disk-preserving shutdown
quarantineSever host-side network and mediation
pauseFreeze a running workspace’s vCPUs, preserving memory and disk
resumeThaw a paused workspace back to running
stopGraceful shutdown
killHard terminate
deleteRemove a workspace and its state
statusShow workspace state
resultShow structured workspace result
listList saved workspaces (ls alias)
psList running workspaces
logsShow boot/serial output
eventsShow or stream the lifecycle event history
egressShow or stream the egress mediator’s audit decisions
statsShow or stream workspace resource usage
snapshotCreate, list, or remove workspace snapshots
secretResolve and validate secret references
connectOpen the workspace console
execRun a structured command in a workspace
profilesList exact named resource profiles
imageManage local image records
perfMeasure workspace boot performance
serveRun the MCP stdio server for agent clients
contractPrint the runtime fields integrations rely on
hostReport host backend capabilities
doctorCheck the host for backend support
rootfsBuild a rootfs from an OCI image
kernelInstall or verify a custom kernel
versionPrint the version

microagent run accepts both the explicit --image IMAGE --exec "cmd" form and the shorter microagent run IMAGE [COMMAND ARG...] form. For flags that map cleanly onto a microVM, common aliases are available: -e for --env, -p for --publish, -v/--volume for named volumes, tar bundles, and ext4 disk images, --name, and --rm.

Some Docker-style inputs do not map to a microVM boundary - privileged mode, namespace flags, devices, and host directory bind mounts. When microagent run recognizes one of these, it returns targeted guidance rather than silently changing its meaning.

microagent.yaml is the declarative form of microagent create - image, profile, restart policy, networking, mounts, mediation, and outputs in a single file you can keep in source control.

These flags are recognized before the subcommand and apply across commands that produce output. Subcommand pages link back here rather than repeat them.

  • --json - print structured JSON output; place before the subcommand
  • --text - print human-readable output
  • --output <json|text> - select output format
  • --mode <ux|ax> - select the output mode. ux is the default human-oriented mode; ax is the agent mode, which forces JSON output and emits structured error envelopes on failure. MICROAGENT_MODE sets the same value (ux/human/text map to UX; ax/agent/json map to AX). --mode ax implies --json; when neither is set, MICROAGENT_OUTPUT=json|text selects the format and output otherwise follows whether stdout is a terminal.
  • --supervisor <path> - override the installed host backend supervisor path (MICROAGENT_APPLEVF_SUPERVISOR and MICROAGENT_FIRECRACKER_SUPERVISOR work too)

All commands can print JSON output. With --json before the subcommand (or MICROAGENT_OUTPUT=json), the response uses the same structured result shape the Go library and MCP adapter use. Scripts should consume JSON; humans get the text format by default.