tmc/vz-macos/cove

Claude Code and agent skill by tmc/vz-macos

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Manages macOS and Linux VMs on Apple Silicon via Apple's Virtualization.framework. Create, run, suspend/resume, snapshot, provision, and automate VMs. Control via Unix socket, guest agent, or VZScript recipes.

Install

npx vskill@latest install tmc/vz-macos/cove

SKILL.md

cove — macOS VM Manager

macOS VMs that suspend, snapshot, and script. Pure Go, cgo-free.

Commands and Flags

!`cove --help 2>&1 | head -80`

Interpreting $ARGUMENTS

ArgumentAction
(empty)Run cove --help, ask what to do
upInstall + provision + boot in one command
installDownload IPSW and install macOS
runBoot an existing VM
inject or provisionInject user/agent into VM disk
ctlControl a running VM (screenshot, type, click, exec)
vzscriptRun automation recipes
sipManage System Integrity Protection
snapshot or disk-snapshotVM state or disk snapshots
shared-folderManage VirtioFS mounts
a VM nameOperate on that VM (e.g., cove -vm myvm run)

Quick Workflows

Zero to running VM (one command)
bash
cove up -user myuser
# With dev tools:
cove up -user myuser -vzscripts homebrew,golang
Step by step
bash
cove install # Download IPSW, install macOS
sudo cove inject -user me -password secret -skip-setup-assistant
cove run # Boot with GUI
Linux VM
bash
cove install -linux
cove run -linux -gui
Control a running VM
bash
# Get VM status
cove ctl status
# Take screenshot
cove ctl screenshot /tmp/screen.png
# Run command in guest
cove ctl agent-exec -- ls /
# Type text
cove ctl type "hello world"
# Run vzscript recipes
cove vzscript run homebrew golang
Snapshots
bash
cove disk-snapshot save before-update
# ... make changes ...
cove disk-snapshot restore before-update
Shared folders
bash
# Mount at run time
cove run -share ~/projects -share /data:ro
# Add persistent shared folder
cove shared-folder add ~/ml-explore
cove run # auto-mounts tagged folders
Suspend / Resume
bash
cove run # VM runs, quit to suspend
cove run # Resumes from saved state
cove run -no-resume # Cold boot instead

Critical Flags

  • `-vm <name>` — Select which VM to operate on (default: "default"). Place BEFORE the subcommand: cove -vm myvm run
  • `-gui` / `-headless` — GUI is default for run; use -headless for CI/scripting
  • `-share <path[:ro]>` — Mount host directory via VirtioFS (repeatable)
  • `-no-resume` / `-cold-boot` — Discard saved suspend state
  • `-disposable` — Run from a linked clone that's discarded on exit
  • `-cpu <N>` / `-memory <N>` — CPU cores and memory in GB

Things --help Won't Tell You

sudo is required for inject — launchd requires LaunchDaemon plists to be owned by root:wheel. Without sudo, the provision script never runs and the user isn't created.

Auto-signing — cove signs itself with virtualization entitlements on first launch. If you rebuild from source, re-sign: codesign -s - -f --entitlements internal/autosign/vz.entitlements ./cove

VM directory — VMs live in ~/.vz/vms/<name>/. Each has: disk.img, control.sock, control.token, suspend.vmstate.

Control socket auth — every VM gets a bearer token at ~/.vz/vms/<name>/control.token. Use it with ctl commands or direct socket access.

VZScript recipes — list built-in recipes with cove vzscript list. Run multiples: cove vzscript run homebrew golang claude-code. Dependencies resolve automatically.

Shared folders need boot-time presence — VirtioFS devices must exist when the VM boots. If you add a folder after suspend/resume, reboot the VM.

Config fingerprinting — changing CPU count, memory, or device configuration invalidates saved suspend state. The VM will cold boot instead.

Error Recovery

ErrorFix
"sandbox preferences"Binary needs signing: codesign -s - -f --entitlements internal/autosign/vz.entitlements ./cove
"Resource temporarily unavailable" on injectStop the VM first — can't write to disk while running
"could not find Data partition"Check cove inject -verbose output
User not created on bootRun inject with sudo — LaunchDaemon needs root:wheel ownership
Setup Assistant still appearsUse -skip-setup-assistant flag with inject
Suspend state invalidConfig changed — VM will cold boot. Use -no-resume explicitly
"Operation not permitted" on mountVirtioFS folder was added after resume — reboot VM
DFU error 3004/4014 during installClean VM dir (rm -rf ~/.vz/vms/default), retry install

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/tmc/vz-macos/cove/badge)](https://verified-skill.com/skills/tmc/vz-macos/cove)

Something wrong with this skill or its page? Tell us.