Cua Docs

CLI Reference

Command Line Interface reference for Lume

A lightweight CLI and local API server to build, run and manage macOS VMs.

Documented against Lume 0.3.16. Run lume --version for your installed version.

For installation steps, see Install Lume.

VM Management#

lume create#

Create a new virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName for the virtual machine

Options:

NameTypeDefaultDescription
--osStringmacOSOperating system to install (macOS or linux)
--cpuInt4Number of CPU cores
--memoryString8GBMemory size (e.g., 8GB)
--disk-sizeString100GB for macOS; 50GB for LinuxDisk size (e.g., 100GB)
--displayString1024x768Display resolution (e.g., 1024x768)
--ipswString-Path to IPSW file or 'latest' for macOS VMs
--storageString-VM storage location to use
--unattendedString-Prepare macOS unattended setup offline after install. Preset name or YAML path is accepted for compatibility. Built-in presets: sequoia, tahoe. Only supported for macOS VMs.
--debug-dirString-Compatibility option; ignored by offline setup.
--vnc-portInt0Port to use for the temporary verification VNC server. Defaults to 0 (auto-assign).

Flags:

NameDefaultDescription
--debugfalseCompatibility flag; ignored by offline setup.
--no-displayfalseCompatibility flag; offline setup verifies headlessly.

lume run#

Run a virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the VM or image to run (format: name or name:tag)

Options:

NameTypeDefaultDescription
--shared-dir[String]-Directory to share with the VM (format: path or path:ro or path:rw)
--mountString-For Linux VMs only, attach a read-only disk image
--usb-storage[String]-Disk image to attach as USB mass storage device
--registryStringghcr.ioContainer registry URL
--organizationStringtrycuaOrganization to pull from
--vnc-portInt0Port for VNC server (0 for auto-assign)
--recovery-modeBoolfalseFor macOS VMs only, boot in recovery mode
--storageString-VM storage location to use

Flags:

NameDefaultDescription
-d, --no-displayfalseDo not start the VNC client

lume stop#

Stop a virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the VM to stop

Options:

NameTypeDefaultDescription
--storageString-VM storage location to use

lume delete#

Delete a virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the VM to delete

Options:

NameTypeDefaultDescription
--storageString-VM storage location to use

Flags:

NameDefaultDescription
--forcefalseForce deletion without confirmation

lume clone#

Clone an existing virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the source VM
<new-name>StringYesName for the cloned VM

Options:

NameTypeDefaultDescription
--source-storageString-Source VM storage location
--dest-storageString-Destination VM storage location

VM Information and Configuration#

lume ls#

List virtual machines

Options:

NameTypeDefaultDescription
-f, --formatStringtextOutput format (json or text)
--storageString-Filter by storage location name

lume get#

Get detailed information about a virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the VM

Options:

NameTypeDefaultDescription
-f, --formatStringtextOutput format
--storageString-VM storage location to use

lume set#

Set new values for CPU, memory, and disk size of a virtual machine

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the VM

Options:

NameTypeDefaultDescription
--cpuInt-New number of CPU cores
--memoryString-New memory size (e.g., 8GB)
--disk-sizeString-New total disk size. Increase only; macOS resizing preserves RecoveryOS and grows APFS.
--displayString-New display resolution
--storageString-VM storage location to use

Flags:

NameDefaultDescription
--no-backupfalseSkip the macOS rollback backup
--keep-backupfalseKeep rollback files after a successful macOS resize
--dry-runfalseValidate the resize plan without modifying the disk

Image Management#

lume images#

List available macOS images from local cache

Options:

NameTypeDefaultDescription
--organizationStringtrycuaOrganization to list images for

lume pull#

Pull a prebuilt or custom macOS image from an OCI-compatible registry

Arguments:

NameTypeRequiredDescription
<image>StringYesImage to pull (format: name:tag)
<name>StringNoName for the resulting VM

Options:

NameTypeDefaultDescription
--registryStringghcr.ioContainer registry URL
--organizationStringtrycuaOrganization to pull from
--storageString-VM storage location to use

lume push#

Push a macOS VM to an OCI-compatible registry

Arguments:

NameTypeRequiredDescription
<name>StringYesName of VM to push
<image>StringYesImage tag (format: name:tag)

Options:

NameTypeDefaultDescription
--additional-tags[String]-Additional tags to push
--registryStringghcr.ioContainer registry URL
--organizationStringtrycuaOrganization to push to
--storageString-VM storage location to use
--chunk-size-mbInt512Chunk size for upload in MB

Flags:

NameDefaultDescription
--verbosefalseEnable verbose logging
--dry-runfalsePrepare files without uploading
--reassembletrueVerify integrity by reassembling chunks

lume convert#

Convert a legacy Lume image to OCI-compliant format

Arguments:

NameTypeRequiredDescription
<source-image>StringYesSource image to convert (legacy format, for example macos-tahoe:latest)
<target-image>StringYesTarget image to push in OCI format (name:tag)

Options:

NameTypeDefaultDescription
--additional-tags[String]-Additional tags for the OCI image
--registryStringghcr.ioRegistry to pull from and push to
--organizationStringtrycuaRegistry organization

Flags:

NameDefaultDescription
--verbosefalseEnable verbose logging
--dry-runfalsePrepare files without uploading
--single-layerfalsePush one kubelet-compatible disk layer

lume ipsw#

Get macOS restore image IPSW URL

lume prune#

Remove cached images

Guest Access and Security#

lume ssh#

Connect to a VM via SSH or execute commands remotely

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the virtual machine
<command>[String]NoCommand to execute (omit for interactive shell)

Options:

NameTypeDefaultDescription
-u, --userStringlumeSSH username
-p, --passwordStringlumeSSH password
--storageString-Storage location name or path
-t, --timeoutInt60Command timeout in seconds (0 for no timeout)

lume setup#

Prepare unattended macOS setup

Arguments:

NameTypeRequiredDescription
<name>StringYesName of the virtual machine

Options:

NameTypeDefaultDescription
--unattendedStringtahoeDefaults to tahoe. Preset name or YAML path for compatibility and optional post-SSH commands. Built-in presets: sequoia, tahoe.
--storageString-VM storage location to use or direct path to VM location
--vnc-portInt0Port to use for the temporary verification VNC server. Defaults to 0 (auto-assign)
--debug-dirString-Compatibility option; ignored by offline setup

Flags:

NameDefaultDescription
--no-displayfalseCompatibility flag; offline setup verifies headlessly
--debugfalseCompatibility flag; ignored by offline setup

lume sip#

Enable or disable System Integrity Protection on a macOS VM

Arguments:

NameTypeRequiredDescription
<state>StringYesDesired SIP state: on or off
<name>StringYesName of the virtual machine

Options:

NameTypeDefaultDescription
--admin-userStringlumeAdministrator username in the guest
--admin-passwordString-Administrator password in the guest; prefer --admin-password-stdin
--screenshot-dirString-Directory for Recovery framebuffer screenshots
--vnc-portInt5999Port for the temporary Recovery VNC server
--storageString-VM storage location
--timeoutInt900Overall timeout in seconds

Flags:

NameDefaultDescription
-y, --yesfalseSkip the interactive confirmation prompt
--admin-password-stdinfalseRead one administrator-password line from standard input without echo

Configuration and Server#

lume config#

Get or set lume configuration

Subcommands:

  • lume config get - Get current configuration
  • lume config storage - Manage VM storage locations
    • 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 VM storage locations
    • lume config storage default - Set the default VM storage location
  • lume config cache - Manage image cache settings
    • lume config cache status - Show cache status and directory
    • lume config cache dir - Get or set cache directory
    • lume config cache enable - Enable image caching
    • lume config cache disable - Disable image caching
  • lume config telemetry - Manage pseudonymous telemetry settings
    • 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 and registration markers

lume serve#

Start the VM management server

Options:

NameTypeDefaultDescription
--portInt7777Port to listen on

lume logs#

View lume serve logs

Subcommands:

  • lume logs info - View info logs from the daemon
    • -n, --lines - Number of lines to display
  • lume logs error - View error logs from the daemon
    • -n, --lines - Number of lines to display
  • lume logs all - View both info and error logs
    • -n, --lines - Number of lines to display

lume check-update#

Check whether a newer Lume release is available

Flags:

NameDefaultDescription
--jsonfalseEmit the structured update-state payload as JSON
--no-cachefalseBypass the local update-check cache

lume update#

Check for a Lume update and optionally apply it

Flags:

NameDefaultDescription
--applyfalseApply the update by re-running the official installer
--jsonfalseEmit the structured update-state payload as JSON

Developer Tools#

lume dump-docs#

Output CLI and API documentation as JSON for tooling and integrations

Options:

NameTypeDefaultDescription
--typeStringcliDocumentation type: cli, api, or all

Flags:

NameDefaultDescription
--prettyfalsePretty-print JSON output

Global Options#

These options are available for all commands:

  • --help - Show help information
  • --version - Show version number