Roadmap
What has shipped, and what comes next.
Every item carries its status in words, shipped, in progress, planned, or under consideration, so nothing depends on colour to be read. Updated as development progresses.
Shipped, and in the tree today.
Everything in this section is implemented, exercised by the test suite, and readable in the open-source repository.
v0.1 Foundation. Shipped
Core VM engine
- VM lifecycle: create, start, stop, suspend and resume
- Suspend saves running state to disk; a later start resumes it
- Restore-image management with automatic IPSW download
- Configuration: CPU, memory, disk, displays, audio, networking
- APFS copy-on-write cloning, 30 ms for a 5 GB VM, no extra disk
- Clones inherit the source's machine identifier, which the personalized auxiliary storage is signed against; run a clone as a replacement, not a sibling
- MAC addresses are regenerated on clone, so network identities stay distinct
- Disk snapshots: save, restore, list, delete
- Two-VM capacity enforcement, checked before work starts
- PID-file tracking for every running VM
Provisioning
- SSH provisioning: wait-for-SSH, then streamed script execution
- Disk-inject provisioning: the LaunchDaemon provisioner is written into the shared base image once per build, not per VM
- Native macOS 27 guest provisioning: the admin account and Setup Assistant skip use Apple's own provisioning options: no OCR
- Guest event stream over a virtio socket (stats and ports)
- One command creates, provisions and boots
spook ipis a metadata read from the VM's DHCP reservation- In progress: shared-folder provisioning. The host-side plumbing exists, but it is not yet wired into the CLI
Templates
- GitHub Actions runner, a registration token is minted from a Keychain-stored PAT seconds before boot
- Remote desktop: admin account, Setup Assistant skipped, Screen Sharing and Remote Login on first boot
- OpenClaw AI. Publishes its gateway on port 18789 by default
Networking
- NAT networking on a private subnet per VM
- Bridged networking, with NAT as the fallback
- Isolated, air-gapped networking
Interfaces
- 27 CLI subcommands
- HTTP control plane: VM lifecycle, IAM and RBAC over signed requests, with Secure-Enclave-bound signing keys
- Native SwiftUI app: split view, inspector, create sheet
- Menu bar extra for quick status and actions
- Liquid Glass on macOS 26 and newer
- Full VoiceOver accessibility: labels, hints, identifiers, announcements
- Ephemeral runners:
--ephemeraltakes one job, then the VM resets
Infrastructure
- Per-VM LaunchDaemon services: start at boot, restart on failure
- Auto-resizing display that follows the window
- Metal GPU displays, one or two per VM at 1920×1200
- Audio output and microphone passthrough
- VirtIO shared folders between host and guest
Instant create, shipped
Base and overlays
- macOS installed once per build into a shared base image,
base.asif - Every VM is a copy-on-write overlay; only the first create per build pays the install
- Bases are sealed read-only and never booted, so a warm pool can prove its base is pristine
- macOS guests require macOS 27 on the host (DiskImageKit); Linux guests work on older hosts
Per-VM networking
- A private subnet and a DHCP-reserved address for every VM
- Published ports:
--publish hostPort:guestPort, repeatable, over vmnet forwarding rules; host-port conflicts fail loudly - vsock readiness: the guest reports its first-boot exit code, so
startprints a definitive result
Linux guests
- Cloud image plus cloud-init:
--from-image fedoraordebian, or a local raw image, optionally.xz-compressed - Installer ISOs via
--installer-iso - Optional Rosetta for x86-64 binaries
Planned next.
Committed direction, not yet in the tree. Each item ships only once it clears the same test bar as everything above.
OCI registry support
- Push VM images to OCI-compliant registries
- Pull VM images from OCI registries
- Content-addressable storage for deduplication
- GitHub Container Registry, Docker Hub and ECR integration
Fleet autoscaling
- Webhook-driven GitHub Actions scaling
- AWS Auto Scaling Group integration
- Automatic replacement of failed pool VMs
- Multi-host fleet coordination
Additional CI templates
- BuildKite agent template
- CircleCI runner template
- Jenkins agent template
Under consideration.
Ideas we keep returning to, unscheduled and unpromised, listed so you can tell us which ones matter.
Fleet dashboard
A web view for monitoring a fleet of VMs across hosts.
Metrics export
Prometheus- and Grafana-friendly metrics from the control plane.
Terraform provider
Declare VMs and pools as Terraform resources.
Ansible collection
Drive provisioning from existing Ansible playbooks.
Have a feature request?
The roadmap moves when users push it. Tell us what is missing.