Double your Mac capacity. Same hardware.
Run 2 macOS VMs per Mac with APFS cloning, ephemeral runner pools, warm-pool scrub validation, and Kubernetes orchestration. Open source, $0 forever.
Built for real workflows
Four primary use cases, each with dedicated templates and CLI commands.
CI/CD Runners
Ephemeral GitHub Actions runners. Clone from a base image, run one job, destroy. 2x capacity per Mac.
AI Agents
Give computer-using agents a full macOS desktop. Guest agent provides clipboard, exec, and app control over VirtIO.
Remote Desktop
Personal macOS desktops for developers. Metal GPU, auto-resize display, audio, shared folders.
DevOps
HTTP API with Bearer auth. Kubernetes operator for declarative VM management. Templates and snapshots.
Rich Guest Agent
12 HTTP API endpoints running inside the guest VM over VirtIO socket. No SSH, no network configuration, no open ports.
Clipboard Sync
Get and set the guest clipboard from the host. Works over VirtIO -- no SSH, no VNC, no screen scraping required.
View source →Remote Exec
Run commands inside the guest and stream output back. Full GUI session access via LaunchAgent. No SSH keys to manage.
View source →App Control
List, launch, and quit macOS apps by bundle ID. Perfect for AI agents that need to interact with GUI applications.
View source →Port Discovery
List all listening TCP ports inside the guest with process names. Know exactly what services are running without guessing.
View source →File Transfer
Push files to the guest and pull files from the guest. Transfer build artifacts, configs, and data without shared folders.
View source →Health Monitoring
Connection status with uptime tracking. Know instantly if the guest agent is responsive and how long it has been running.
View source →How we compare
Feature parity with commercial tools. MIT licensed, $0 forever.
| Feature | Spooktacular | GhostVM | Tart | Anka |
|---|---|---|---|---|
| License | MIT (free) | Proprietary | Fair Source | Proprietary |
| Guest agent (clipboard, exec, apps) | Yes | Yes | No | Partial |
| APFS clone | Yes (48ms) | Yes | Yes | Yes |
| HTTP API | Yes + Bearer auth | Basic | No | Yes |
| Kubernetes operator | Yes | No | Orchard | Yes |
| Templates | 4 built-in | No | No | Paid |
| Setup Assistant automation | Yes | Yes | Yes | Yes |
| SwiftUI GUI | Liquid Glass | No | No | Yes |
| Price | $0 | $$$ | $0-$36K | Contact sales |
Apple allows 2 VMs per Mac
The macOS Software License Agreement permits running up to two additional copies of macOS in virtual machines on each Apple-branded computer running Apple Silicon.
Spooktacular enforces this limit via CapacityCheck.swift. Apple's EULA Section 2B(iii) explicitly permits virtualization on Apple Silicon. No additional licenses required.
Enterprise Operating Model
Security Model
Mandatory mTLS for controller-to-node traffic. Three-tier guest agent authorization (read / runner / break-glass). Keychain-backed secrets. TLS certificate hot reload.
Isolation Semantics
Ephemeral: destroy after each job. Warm pool: scrub + validate, destroy on failure. Persistent: named identity with snapshots. Failed scrub = VM destroyed, never reused.
EC2 Mac Mapping
One Dedicated Host → one Spooktacular node → two VM slots. Ephemeral mode = your Replace Root Volume equivalent, but faster. SSM for fleet operations.
Runner Scale Sets
RunnerPool CRD maps to GitHub ARC runner scale sets. Ephemeral runners with auto-registration, job detection via webhooks, and automatic deregistration.
Ready to double your Mac capacity?
424 tests. 15+ CLI commands. $0. Install and create your first VM in under 20 minutes.