
utmd
Disposable VM sandbox manager for UTM on macOS.
Create isolated development environments from base templates prefixed with utmd-. Run ready-to-use sandboxes with one command, then prune sandboxes with a single cleanup command while leaving personal VMs untouched.
Global flags for automation and scripting:
Prerequisites
- macOS with UTM Desktop Application installed
- Base VM templates named
[t]-linuxand[t]-macosin UTM
Usage
prune --older-than currently supports h (hours) and d (days), for example 24h and 7d.
Config
Default config path:
Create the file with:
create and run require template VMs to already exist in UTM, for example [t]-linux and [t]-macos.
Example:
= "/Applications/UTM.app"
= "/usr/local/bin/utmctl"
= "/Users/user/Library/Application Support/utmd/state.json"
= "utmd-"
[]
= "[t]-linux"
= "[t]-macos"
[]
= "{prefix}{os}-{rand}"
= 4
= 8
[]
= false
= false
Environment overrides:
Precedence:
JSON output
All commands return wrapped JSON with a stable top-level shape:
Exit codes:
Installation
utmd is available on crates.io and Homebrew.
Cargo
Homebrew
Build from Source
On first run, utmd checks for utmctl and reports a dependency error when it is unavailable.
Local Verification
Run the local verification gate before releases: