Lume CLI Reference
Command Line Interface reference for Lume
Once installed, you can start using Lume with these common workflows:
Run a Prebuilt VM
# Run a macOS Sequoia VM
lume run macos-sequoia-vanilla:latest
# Run an Ubuntu VM
lume run ubuntu-noble-vanilla:latestWe provide prebuilt VM images in our ghcr registry.
Create a Custom VM
# Create a new macOS VM
lume create my-macos-vm --cpu 4 --memory 8GB --disk-size 50GB
# Create a Linux VM
lume create my-linux-vm --os linux --cpu 2 --memory 4GBDisk Space
The actual disk space used by sparse images will be much lower than the logical size listed. You can resize VM disks after creation using lume set <name> --disk-size <size>.
VM Management
lume create <name> Create a new macOS or Linux virtual machine.
Options:
--os <os>- Operating system to install (macOS or linux, default: macOS)--cpu <cores>- Number of CPU cores (default: 4)--memory <size>- Memory size, e.g., 8GB (default: 4GB)--disk-size <size>- Disk size, e.g., 50GB (default: 40GB)--display <res>- Display resolution (default: 1024x768)--ipsw <path>- Path to IPSW file or 'latest' for macOS VMs--storage <name>- VM storage location to use
Examples:
# Create macOS VM with custom specs
lume create my-mac --cpu 6 --memory 16GB --disk-size 100GB
# Create Linux VM
lume create my-ubuntu --os linux --cpu 2 --memory 8GB
# Create macOS VM with latest IPSW
lume create my-sequoia --ipsw latestlume run <name> Start and run a virtual machine.
Options:
--no-display- Do not start the VNC client app--shared-dir <dir>- Share directory with VM (format: path[:ro|rw])--mount <path>- For Linux VMs only, attach a read-only disk image--registry <url>- Container registry URL (default: ghcr.io)--organization <org>- Organization to pull from (default: trycua)--vnc-port <port>- Port to use for the VNC server (default: 0 for auto-assign)--recovery-mode <boolean>- For macOS VMs only, start VM in recovery mode (default: false)--storage <name>- VM storage location to use
Examples:
# Run VM with shared directory
lume run my-vm --shared-dir /path/to/share:rw
# Run VM without display (headless)
lume run my-vm --no-display
# Run macOS VM in recovery mode
lume run my-mac --recovery-mode truelume stop <name> Stop a running virtual machine.
Options:
--storage <name>- VM storage location to use
lume delete <name>
Delete a virtual machine and its associated files.
Options:
--force- Force deletion without confirmation--storage <name>- VM storage location to use
lume clone <name> <new-name>
Create a copy of an existing virtual machine.
Options:
--source-storage <name>- Source VM storage location--dest-storage <name>- Destination VM storage location
VM Information and Configuration
lume ls
List all virtual machines and their status.
lume get <name>
Get detailed information about a specific virtual machine.
Options:
-f, --format <format>- Output format (json|text)--storage <name>- VM storage location to use
lume set <name>
Modify virtual machine configuration.
Options:
--cpu <cores>- New number of CPU cores (e.g., 4)--memory <size>- New memory size (e.g., 8192MB or 8GB)--disk-size <size>- New disk size (e.g., 40960MB or 40GB)--display <res>- New display resolution in format WIDTHxHEIGHT (e.g., 1024x768)--storage <name>- VM storage location to use
Examples:
# Increase VM memory
lume set my-vm --memory 16GB
# Change display resolution
lume set my-vm --display 1920x1080
# Add more CPU cores
lume set my-vm --cpu 8Image Management
lume images
List available macOS images in local cache.
lume pull <image>
Download a VM image from a container registry.
Options:
--registry <url>- Container registry URL (default: ghcr.io)--organization <org>- Organization to pull from (default: trycua)--storage <name>- VM storage location to use
lume push <name> <image:tag>
Upload a VM image to a container registry.
Options:
--additional-tags <tags...>- Additional tags to push the same image to--registry <url>- Container registry URL (default: ghcr.io)--organization <org>- Organization/user to push to (default: trycua)--storage <name>- VM storage location to use--chunk-size-mb <size>- Chunk size for disk image upload in MB (default: 512)--verbose- Enable verbose logging--dry-run- Prepare files and show plan without uploading--reassemble- Verify integrity by reassembling chunks (requires --dry-run)
lume ipsw
Get the latest macOS restore image URL.
lume prune
Remove cached images to free up disk space.
Configuration
lume config
Manage Lume configuration settings.
Subcommands:
Storage Management
lume config storage add <name> <path>- Add a new VM storage locationlume config storage remove <name>- Remove a VM storage locationlume config storage list- List all VM storage locationslume config storage default <name>- Set the default VM storage location
Cache Management
lume config cache get- Get current cache directorylume config cache set <path>- Set cache directory
Image Caching
lume config caching get- Show current caching statuslume config caching set <boolean>- Enable or disable image caching
API Server
lume serve
Start the Lume API server for programmatic access.
Options:
--port <port>- Port to listen on (default: 7777)
Global Options
These options are available for all commands:
--help- Show help information--version- Show version number
Was this page helpful?