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.

865 tests in 222 suites, run on every change
27 CLI subcommands, each with its own help
30 ms to clone a 5 GB VM, with no additional disk used
1 install of macOS per build, shared by every VM as a base image

v0.1 Foundation. Shipped

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
Shipped

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 ip is 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
Shipped

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
Shipped

Networking

  • NAT networking on a private subnet per VM
  • Bridged networking, with NAT as the fallback
  • Isolated, air-gapped networking
Shipped

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: --ephemeral takes one job, then the VM resets
Shipped

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

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
Shipped

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 start prints a definitive result
Shipped

Linux guests

  • Cloud image plus cloud-init: --from-image fedora or debian, or a local raw image, optionally .xz-compressed
  • Installer ISOs via --installer-iso
  • Optional Rosetta for x86-64 binaries
Guest Tools: shipped A companion app inside the guest syncs the clipboard in both directions over a SPICE serial channel. No SSH and no network involved.

Planned next.

Committed direction, not yet in the tree. Each item ships only once it clears the same test bar as everything above.

Planned

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
Planned

Fleet autoscaling

  • Webhook-driven GitHub Actions scaling
  • AWS Auto Scaling Group integration
  • Automatic replacement of failed pool VMs
  • Multi-host fleet coordination
Planned

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.

Under consideration

Fleet dashboard

A web view for monitoring a fleet of VMs across hosts.

Under consideration

Metrics export

Prometheus- and Grafana-friendly metrics from the control plane.

Under consideration

Terraform provider

Declare VMs and pools as Terraform resources.

Under consideration

Ansible collection

Drive provisioning from existing Ansible playbooks.

Have a feature request?

The roadmap moves when users push it. Tell us what is missing.