vmnet-helper

April 27, 2026 · View on GitHub

A high-performance network proxy connecting virtual machines to the macOS vmnet network without running the VM process as root or requiring the com.apple.vm.networking entitlement.

On macOS 15 and earlier, the helper requires root only to start the vmnet interface, then immediately drops privileges and runs as the unprivileged user. On macOS 26 and later, root is not required at all.

Tip

On macOS 26 and later, consider using vmnet-broker for native vmnet networking — up to 9 times faster than vmnet-helper. vmnet-helper is the first VM tool to support vmnet-broker. See the architecture guide for details.

Installation

macOS 26 and later

Install using Homebrew:

brew tap nirs/vmnet-helper
brew install vmnet-helper

macOS 15 and earlier

To install the latest version run:

curl -fsSL https://github.com/nirs/vmnet-helper/releases/latest/download/install.sh | bash

You can download the install script for inspection and run it locally.

The install script downloads the latest release and installs it at /opt/vmnet-helper, and configures a sudoers rule to allow running vmnet-helper without a password. See sudoers.d for more info.

Note

Homebrew installation is not available for macOS 15 and earlier because vmnet-helper requires root privileges. Installing via Homebrew would allow malware to replace the executable and gain root access.

Compatible VM drivers

vmnet-helper is integrated and tested with the following VM drivers.

DriverDescription
QEMU12,972Open-source machine emulator and virtualizer
vfkit350macOS VM manager wrapping Apple's Virtualization.framework
krunkit266macOS wrapper for libkrun

Projects using vmnet-helper

The following projects use vmnet-helper to connect VMs to the vmnet network.

ProjectDescription
minikube31,668Local Kubernetes for development and CI
renode2,383Embedded systems simulator
anylinuxfs1,153Mounts Linux-supported filesystems on macOS via a microVM
vibe848Linux VM sandbox for LLM agents on macOS
nerdbox103containerd sandbox runtime for libkrun VMs on macOS
ec15Go-based VM orchestration

Compatible projects

The following projects use libkrun's unixgram API and can work with vmnet-helper.

ProjectDescription
microvm.nix2,457NixOS MicroVMs
libkrun1,793Library for running workloads in isolated VMs
boxlite1,730Embeddable sandboxes for AI agents using libkrun
libkrun-go47Go bindings for libkrun
Box36MicroVM runtime using libkrun
bux3Embedded micro-VM sandbox for AI agents using libkrun
krun-api0Go wrapper for libkrun

Tutorials

Documentation

License

vmnet-helper is under the Apache 2.0 license