Lume CLI Reference
Command Line Interface reference for Lume
A lightweight CLI and local API server to build, run and manage macOS VMs.
Quick Start
# Run a prebuilt macOS VM
lume run macos-sequoia-vanilla:latest
# Create a custom VM
lume create my-vm --cpu 4 --memory 8GB --disk-size 50GBVM Management
lume create
Create a new virtual machine
Arguments:
<name>- Name for the virtual machine
Options:
--os- Operating system to install (macOS or linux) (default: macOS)--cpu- Number of CPU cores (default: 4)--memory- Memory size (e.g., 8GB) (default: 8GB)--disk-size- Disk size (e.g., 50GB) (default: 50GB)--display- Display resolution (e.g., 1024x768) (default: 1024x768)--ipsw- Path to IPSW file or 'latest' for macOS VMs--storage- VM storage location to use--unattended- [Preview] Preset name or path to YAML config file for unattended macOS Setup Assistant automation. Built-in presets: tahoe. Only supported for macOS VMs.--debug-dir- Custom directory for debug screenshots during unattended setup (defaults to unique folder in system temp)--vnc-port- Port to use for the VNC server during unattended setup. Defaults to 0 (auto-assign) (default: 0)
Flags:
--debug- Enable debug mode for unattended setup - saves screenshots with click coordinates--no-display- Do not open the VNC client during unattended setup (default: true for unattended)
lume clone
Clone an existing virtual machine
Arguments:
<name>- Name of the source VM<new-name>- Name for the cloned VM
Options:
--source-storage- Source VM storage location--dest-storage- Destination VM storage location
lume run
Run a virtual machine
Arguments:
<name>- Name of the VM or image to run (format: name or name:tag)
Options:
--shared-dir- Directory to share with the VM (format: path or path:ro or path:rw)--mount- For Linux VMs only, attach a read-only disk image--usb-storage- Disk image to attach as USB mass storage device--registry- Container registry URL (default: ghcr.io)--organization- Organization to pull from (default: trycua)--vnc-port- Port for VNC server (0 for auto-assign) (default: 0)--recovery-mode- For macOS VMs only, boot in recovery mode (default: false)--storage- VM storage location to use
Flags:
-d, --no-display- Do not start the VNC client
lume stop
Stop a virtual machine
Arguments:
<name>- Name of the VM to stop
Options:
--storage- VM storage location to use
lume delete
Delete a virtual machine
Arguments:
<name>- Name of the VM to delete
Options:
--storage- VM storage location to use
Flags:
--force- Force deletion without confirmation
VM Information and Configuration
lume get
Get detailed information about a virtual machine
Arguments:
<name>- Name of the VM
Options:
-f, --format- Output format (default: text)--storage- VM storage location to use
lume set
Set new values for CPU, memory, and disk size of a virtual machine
Arguments:
<name>- Name of the VM
Options:
--cpu- New number of CPU cores--memory- New memory size (e.g., 8GB)--disk-size- New disk size (e.g., 100GB)--display- New display resolution--storage- VM storage location to use
lume ls
List virtual machines
Options:
-f, --format- Output format (json or text) (default: text)--storage- Filter by storage location name
Image Management
lume pull
Pull a macOS image from GitHub Container Registry
Arguments:
<image>- Image to pull (format: name:tag)<name>- Name for the resulting VM (optional)
Options:
--registry- Container registry URL (default: ghcr.io)--organization- Organization to pull from (default: trycua)--storage- VM storage location to use
lume push
Push a macOS VM to GitHub Container Registry
Arguments:
<name>- Name of VM to push<image>- Image tag (format: name:tag)
Options:
--additional-tags- Additional tags to push--registry- Container registry URL (default: ghcr.io)--organization- Organization to push to (default: trycua)--storage- VM storage location to use--chunk-size-mb- Chunk size for upload in MB (default: 512)
Flags:
--verbose- Enable verbose logging--dry-run- Prepare files without uploading--reassemble- Verify integrity by reassembling chunks
lume images
List available macOS images from local cache
Options:
--organization- Organization to list images for (default: trycua)
lume ipsw
Get macOS restore image IPSW URL
lume prune
Remove cached images
Configuration and Server
lume serve
Start the VM management server
Options:
--port- Port to listen on (default: 7777)
lume config
Get or set lume configuration
Subcommands:
lume config get- Get current configurationlume config storage- Manage VM storage locationslume config storage add- Add a new VM storage locationlume config storage remove- Remove a VM storage locationlume config storage list- List all VM storage locationslume config storage default- Set the default VM storage location
lume config cache- Manage cache settingslume config cache get- Get current cache directorylume config cache set- Set cache directory
lume config caching- Manage image caching settingslume config caching get- Show current caching statuslume config caching set- Enable or disable image caching
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 setup
[Preview] Run unattended Setup Assistant automation on a macOS VM
Arguments:
<name>- Name of the virtual machine
Options:
--unattended- Preset name or path to YAML config file for unattended macOS Setup Assistant automation. Built-in presets: tahoe.--storage- VM storage location to use or direct path to VM location--vnc-port- Port to use for the VNC server. Defaults to 0 (auto-assign) (default: 0)--debug-dir- Custom directory for debug screenshots (defaults to unique folder in system temp)
Flags:
--no-display- Do not open the VNC client automatically--debug- Enable debug mode - saves screenshots with click coordinates
Global Options
These options are available for all commands:
--help- Show help information--version- Show version number
Was this page helpful?