The CLI mirrors cocoon’s vm / image command surface, trimmed to the macOS VM path.
# pull the golden qcow2 from ghcr into the local store (cocoon cloudimg; /var/lib/cocoon-macos)
cocoon-macos image pull ghcr.io/cocoonstack/cocoon-macos/tahoe:26
cocoon-macos image list # table (NAME TYPE SIZE DIGEST CREATED); -o json for JSON
cocoon-macos image inspect <ref>
cocoon-macos image rm <ref>
See Images for the store layout and the parallel-Range download.
# clone the golden image into a per-VM overlay and boot it (x86 Linux + /dev/kvm).
# IMAGE is a store ref or a direct qcow2 path; firmware defaults to the doctor's install.
cocoon-macos vm run ghcr.io/cocoonstack/cocoon-macos/tahoe:26 \
--name m1 --cpus 4 --memory 8192 --ssh-port 2222 --vnc 1 --random-smbios
cocoon-macos vm list # table (NAME STATE CPU MEM NET VNC SSH IMAGE CREATED); -o json for JSON
cocoon-macos vm inspect m1 # full record as JSON
cocoon-macos vm stop m1
cocoon-macos vm rm m1
# also: create (no boot), start, console
create scaffolds the VM (overlay, identity, network, record) without booting; run = create +
boot; start boots a created/stopped VM.run is atomic: if the boot fails it removes everything it just created (no half-made VM left
behind).Networking (--net) and VNC (--vnc / --vnc-password) are covered in
Networking & VNC; snapshot/clone and --data-disk in
Snapshot, Clone & Data Disks.
vm run doesqemu-img create -b <golden> overlay.qcow2 — instant copy-on-write clone of the golden image.OVMF_VARS.--random-smbios, copy OpenCore per-VM and inject a generated identity into its
config.plist PlatformInfo/Generic via a qemu-nbd mount — model stays iMac19,1 (proven to
boot Tahoe), only serial/MLB/UUID/ROM are randomized. The identity is recorded and shown by
vm inspect.qemu-system-x86_64 daemonized with the boot recipe (a Skylake-Client-v4 CPU spoofing
GenuineIntel, isa-applesmc OSK, OVMF, the LongQT OpenCore loader, and the macOS qcow2). The
same recipe boots macOS identically on Intel and AMD; on AMD it also sets kvm.ignore_msrs=1
(macOS reads MSRs an AMD host lacks). See Boot, Firmware & GUI.State is recorded under --state-dir / $COCOON_MACOS_HOME (default /var/lib/cocoon-macos).