In this guide
  1. Install UTM
  2. Create the macOS VM
  3. Allocate Resources
  4. Install Homebrew, Node & OpenClaw
  5. Run OpenClaw Onboarding
Prerequisites

A Mac with Apple Silicon (M1 or later) running macOS Monterey 12 or higher. That's it — UTM handles the rest.

Note: Your VM can only run the same macOS version as your host or older — you can't create a Sequoia guest on a Monterey host. Update your host OS first if you need a newer version inside the VM.

Step 1 of 5Install UTM

UTM is a free, open-source virtualizer for macOS. For macOS guests on Apple Silicon, it uses Apple's Virtualization.framework, so performance is near-native.

Download it from mac.getutm.app (free) or grab it from the Mac App Store (paid, but identical — just supports the developer). Install it like any other Mac app.

UTM Welcome screen
UTM Welcome screen

Step 2 of 5Create the macOS VM

Click Create a New Virtual Machine. Choose Virtualize (not Emulate — you want native speed), then select macOS 12+ as the operating system.

UTM will ask you to import an IPSW (Apple's restore image format). You can leave the path empty and click Continue to download the latest one automatically, or provide a specific IPSW file if you need a particular macOS version.

Step 3 of 5Allocate Resources

Give the VM enough room to breathe. A solid baseline for running OpenClaw: 4 CPU cores, 8 GB RAM, 40 GB disk. You can adjust later from UTM's settings, but going below these minimums will feel sluggish.

4
CPU Cores
8 GB
RAM
40 GB
Disk

Make sure your host Mac has enough headroom — you don't want to starve your main OS of resources. If you have 16 GB of RAM on the host, 8 GB for the VM leaves 8 GB for macOS which is workable. After saving, the IPSW will start downloading (~13 GB).

IPSW downloading
IPSW downloading — grab a coffee

Step 4 of 5Install Homebrew, Node & OpenClaw

Once macOS is set up inside the VM and you've gone through the initial setup wizard, open Terminal and run these commands. (The Homebrew installer is a remote shell script — if you'd prefer to inspect it first, visit the official Homebrew site.)

Terminal
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# ⚠️ IMPORTANT: Add Homebrew to your PATH (Homebrew will print these exact lines)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

# Install Node.js (LTS)
brew install node

# Install OpenClaw globally
npm install -g openclaw@latest

The Homebrew PATH step is the one most people miss — if brew isn't found after install, that's why.

Step 5 of 5Run OpenClaw Onboarding

One last command handles the remaining setup and installs the background daemon:

Terminal
openclaw onboard --install-daemon

The onboard wizard will walk you through connecting your LLM provider (Anthropic, OpenAI, or OpenRouter) and optionally setting up messaging channels like Telegram or Discord. Once complete, your agent is running.

That's it. You're done. ✓

Troubleshooting

IPSW download keeps stalling

Some users have reported that toggling a VPN on or off resolves this. Apple's CDN can be finicky with certain network configurations.

Can't create a newer macOS version than my host

If you're running macOS Monterey as your host, you can only create a VM of the same or older version. Update your host OS first if you need a newer guest.

On an Intel Mac?

UTM's native macOS virtualization only works on Apple Silicon. For Intel Macs, you'll need VMware Fusion, VirtualBox, or Parallels instead — the workflow is different.

Homebrew not found after install

On Apple Silicon Macs, Homebrew installs to /opt/homebrew. After installing, run the two commands Homebrew prints at the end to add it to your shell profile. If you missed them, run: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile && eval "$(/opt/homebrew/bin/brew shellenv)"

VM runs but no network/internet

UTM uses shared networking by default, which should work out of the box. If the VM has no internet, try restarting it. If that doesn't help, open UTM settings for the VM → Network → ensure "Shared Network" is selected.

VM performance is poor

Make sure you chose Virtualize (not Emulate) when creating the VM. Emulation is dramatically slower. Also check that no other heavy apps are competing for RAM on the host. You can adjust CPU cores and RAM from UTM's VM settings without recreating it.