MacVisor GA

Overview

Run and manage native macOS and ARM Linux virtual machines on Apple Silicon, with Windows 11 VMs and AI sandboxes as Tech Previews.

MacVisor runs virtual machines on Apple Silicon Macs. It uses Apple's Virtualization framework, and gives you one app and one command-line tool, mvz, for the whole lifecycle: creating VMs, running them, snapshots, storage, networking, and automation.

It runs macOS and ARM Linux guests. Windows 11 on ARM and AI sandboxes are Tech Previews, and FreeBSD guests are experimental.

A Linux dev VM made from a cloud image: account, containers, port forwards, guest tools, and live readings.

What you can do

  • Linux VMs from cloud images. Ubuntu, Debian, Fedora, Rocky Linux, AlmaLinux, Oracle Linux, CentOS Stream, openSUSE Leap and Alpine. cloud-init sets up your account and SSH keys, and optionally a container runtime, a read-only share of your home folder and, on Ubuntu, a desktop. Any ARM64 ISO works too.
  • macOS VMs from Apple's installers or your own IPSW. macOS 27 guests skip Setup Assistant and install the MacVisor Agent themselves.
  • Windows 11 on ARM (Tech Preview), installed unattended from Microsoft's ISO. See Windows 11 guests.
  • FreeBSD (experimental), 15.1 or a 16.0-CURRENT snapshot from the catalogue, used over SSH only. See FreeBSD (experimental).
  • AI sandboxes (Tech Preview). Run a coding agent such as Claude Code, Codex or Goose in a disposable VM, and review its changes before they reach your project. See AI sandboxes.
  • AI agents over MCP (Tech Preview). Let an agent on your Mac use the VMs you open to it, as far as you allow: run commands, take snapshots and roll back, start and stop VMs, and use their screens. See AI agents and MCP.
  • Shells and containers. mvz shell into any VM, reach it as <vm>.mvz, and use its Docker or k3s from the Mac.
  • Snapshots and clones. Disk-only or live snapshots, templates, and linked clones that share their source's disk.
  • Networking. NAT, bridging, VLANs, and named networks with DHCP, DNS, reservations, port forwards and a firewall the Mac enforces.
  • Guest tools. Shared folders, clipboard, file transfer and port forwarding.
  • An always-on host. Headless VMs that start at login, controlled from the menu bar or over SSH.
  • Automation. Nearly everything the app does is available in mvz, with JSON output. A few setup tasks are app-only.

Requirements

MacApple Silicon, macOS 27
Linux guestsARM64. x86 images don't boot; MacVisor does not emulate x86
FreeBSD guestsExperimental. The catalogue's ARM64 images, used over SSH only
macOS guestsAutomatic setup needs a macOS 27 guest. The MacVisor Agent supports macOS 14 and later
Nested virtualizationM3 or later

Memory, disk space and network per guest are in System requirements.

macOS guests get Apple's accelerated graphics. Linux guests use Virtio graphics. Windows guests show on Virtio-MVZ (beta), MacVisor's own display device: any resolution, following the window, sharp on a Retina screen; Remote Desktop remains the way to a session with sound. FreeBSD guests have no display after their loader, so you use SSH.

How it works

A background service owns your VM library and starts one runner process per VM. The app and mvz are both clients of that service. Closing the app or a VM window doesn't stop a VM, and one VM failing doesn't affect the others.

How the MacVisor app, CLI, control service, per-VM runners, guests, network host, and root helper fit together.

Each VM is a .mvz package that holds its configuration, disks, saved state and snapshots, and a template is a .mvzt one. Packages from earlier builds keep their .macvisor name and work as before. You can keep VMs in several storage locations and move them between them.

See Architecture for the components, and Security model for what runs with which privileges.

Acknowledgements

MacVisor uses Sparkle 2.10 for software updates, under the MIT licence. That licence also covers the bsdiff, sais-lite, ed25519 and SUSignatureVerifier code included in Sparkle.

The Linux guest agent is written in Go and includes the Go standard library and runtime, under the Go licence (BSD-style).

The guest operating system icons are their owners' logos and trademarks, used only to identify the system a VM runs. The macOS icon comes from Font Awesome Free (CC BY 4.0). Tux was originally drawn by Larry Ewing with The GIMP.