Lume is a lightweight CLI and local API server for building, running, and managing macOS and Linux virtual machines on Apple Silicon. This page documents every command available in Lume. Documented against Lume 0.5.3. RunDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/trycua/cua/llms.txt
Use this file to discover all available pages before exploring further.
lume --version to check your installed version.
Global options
These options are available on every command:| Flag | Description |
|---|---|
--help | Show help information for the command. |
--version | Print the installed Lume version. |
VM Management
lume create
Create a new virtual machine.
Usage: lume create <name> [options]
Name to assign to the new virtual machine.
Operating system to install. Accepts
macOS or linux.Number of CPU cores to allocate.
Memory size. Accepts human-readable values such as
8GB or 16GB.Disk size. Accepts values like
50GB or 200GB.Display resolution, e.g.
1920x1080.Path to an IPSW restore image, or
'latest' to download the latest compatible IPSW automatically (macOS VMs only).Named VM storage location to use. Defaults to the configured default location.
Prepare a macOS unattended (offline) setup after installation. Accepts a preset name (
sequoia, tahoe) or a path to a YAML config. macOS only.Port for the temporary verification VNC server.
0 auto-assigns a port.Compatibility flag; ignored by offline setup.
Compatibility flag; offline setup verifies headlessly.
lume run
Start and boot a virtual machine.
Usage: lume run <name> [options]
Name of the VM or image to run. Accepts
name or name:tag format.Directory path to share with the VM. Format:
path, path:ro (read-only), or path:rw (read-write). May be specified multiple times.Local viewer to open:
native, vnc, or none. The VNC server is always available regardless of this setting.Port for the VNC server.
0 auto-assigns.Boot in macOS recovery mode. macOS VMs only.
VM storage location to use.
Log path when running with
--detach.Alias for
--display none.Run the VM in the background and return immediately.
Enable bidirectional clipboard sync via SSH. Enabled automatically with the native macOS display.
lume attach
Open a viewer for a VM that is already running.
Usage: lume attach <name> [options]
Name of the running virtual machine.
Viewer to open:
native or vnc.VM storage location.
lume stop
Stop a running virtual machine (hard stop).
Usage: lume stop <name> [options]
Name of the VM to stop.
VM storage location.
lume shutdown
Gracefully shut down a virtual machine via SSH.
Usage: lume shutdown <name> [options]
Name of the virtual machine.
SSH username.
SSH and sudo password.
SSH command timeout in seconds.
VM storage location.
lume restart
Gracefully restart a virtual machine via SSH.
Usage: lume restart <name> [options]
Parameters are identical to lume shutdown.
lume delete
Delete a virtual machine and all associated files.
Usage: lume delete <name> [options]
Name of the VM to delete.
VM storage location.
Skip the interactive confirmation prompt.
lume clone
Clone an existing virtual machine.
Usage: lume clone <name> <new-name> [options]
Name of the source VM.
Name for the cloned VM.
Storage location of the source VM.
Storage location for the cloned VM.
VM Information and Configuration
lume ls
List all virtual machines.
Usage: lume ls [options]
Output format:
text or json.Filter by storage location name.
lume get
Get detailed information about a specific virtual machine.
Usage: lume get <name> [options]
Name of the VM to inspect.
Output format:
text or json.VM storage location.
lume set
Update CPU, memory, disk size, or display resolution for a stopped VM.
Usage: lume set <name> [options]
Name of the VM to update.
New CPU core count.
New memory size, e.g.
16GB.New total disk size (increase-only). macOS resizing preserves RecoveryOS and grows the APFS container.
New display resolution.
VM storage location.
Skip the macOS rollback backup before resizing.
Retain rollback files after a successful macOS resize.
Validate the resize plan without modifying the disk.
Image Management
lume images
List available VM images from the local cache.
Usage: lume images [options]
Organization to list images for.
lume pull
Pull a prebuilt macOS or Linux image from an OCI-compatible registry.
Usage: lume pull <image> [<name>] [options]
Image reference in
name:tag format, e.g. macos-tahoe-vanilla:latest.Optional name for the resulting local VM.
Container registry URL.
Registry organization.
VM storage location.
lume push
Push a local VM to an OCI-compatible registry.
Usage: lume push <name> <image> [options]
Name of the local VM to push.
Target image tag in
name:tag format.Container registry URL.
Organization to push to.
Extra tags to apply.
Upload chunk size in MB.
VM storage location.
Enable verbose logging.
Prepare files without uploading.
Verify integrity by reassembling chunks after upload.
lume ipsw
Print the latest macOS restore image (IPSW) URL for the current hardware.
Usage: lume ipsw
lume prune
Remove cached images to free up disk space.
Usage: lume prune
lume convert
Convert a legacy Lume image to OCI-compliant format.
Usage: lume convert <source-image> <target-image> [options]
Source image in legacy format, e.g.
macos-tahoe:latest.Target image name and tag in OCI format.
Registry to pull from and push to.
Registry organization.
Additional tags for the OCI image.
Enable verbose logging.
Prepare without uploading.
Push one kubelet-compatible disk layer.
Guest Access and Security
lume ssh
Connect to a VM via SSH or execute a remote command.
Usage: lume ssh <name> [<command>...] [options]
Name of the virtual machine.
Command to run. Omit for an interactive shell session.
SSH username.
SSH password.
Command timeout in seconds.
0 for no timeout.VM storage location.
lume setup
Prepare an unattended macOS setup on a VM.
Usage: lume setup <name> [options]
Name of the virtual machine.
Preset name (
sequoia, tahoe) or path to a YAML config with optional post-SSH commands.Port for the temporary verification VNC server.
VM storage location.
lume sip
Enable or disable System Integrity Protection (SIP) on a macOS VM. Requires a stopped VM with Remote Login enabled.
Usage: lume sip <state> <name> [options]
Desired SIP state:
on or off.Name of the virtual machine.
Administrator username in the guest.
Administrator password. Prefer
--admin-password-stdin.Read the administrator password from stdin without echo.
Port for the temporary Recovery VNC server.
Overall timeout in seconds.
Directory for Recovery framebuffer screenshots.
VM storage location.
Skip the confirmation prompt.
Configuration and Server
lume serve
Start the Lume HTTP API server, or run as an MCP stdio server.
Usage: lume serve [options]
Port to listen on (HTTP mode only).
Run as an MCP server over stdio for AI agent integration. When set,
--port is ignored and the process communicates via stdin/stdout using the Model Context Protocol.See the MCP Tools reference for the full list of tools exposed by
lume serve --mcp.lume config
Get or set Lume configuration. Subcommands:
| Subcommand | Purpose |
|---|---|
lume config get | Display the current configuration. |
lume config storage add | Add a new VM storage location. |
lume config storage remove | Remove a VM storage location. |
lume config storage list | List all storage locations. |
lume config storage default | Set the default storage location. |
lume config cache status | Show cache status and directory. |
lume config cache dir | Get or set the cache directory. |
lume config cache enable | Enable image caching. |
lume config cache disable | Disable image caching. |
lume config telemetry status | Show current telemetry status. |
lume config telemetry enable | Enable pseudonymous telemetry. |
lume config telemetry disable | Disable pseudonymous telemetry. |
lume config telemetry reset-id | Delete the pseudonymous installation ID. |
lume logs
View Lume daemon logs.
| Subcommand | Purpose |
|---|---|
lume logs info [-n N] | View info logs (last N lines). |
lume logs error [-n N] | View error logs (last N lines). |
lume logs all [-n N] | View combined info and error logs. |
lume check-update
Check whether a newer Lume release is available.
Emit the structured update-state payload as JSON.
Bypass the local 20-hour update-check cache.
lume update
Check for and optionally apply a Lume update.
Apply the update by re-running the official installer.
Emit the structured update-state payload as JSON.
Developer Tools
lume dump-docs
Output CLI and API documentation as JSON for tooling and integrations.
Documentation type to emit:
cli, api, or all.Pretty-print the JSON output.