Install the Compute Node agent on macOS
Chapter 2 · about 6 minutes to read
This is chapter 2 of Stage 2. You'll install the Zyra agent on a Mac, get past Gatekeeper, and pair it to your organization. The macOS path has one extra step compared to Windows — approving the app in System Settings — because Apple's signing rules are stricter.
Time: about 12 minutes. Prerequisites: macOS 12 Monterey or newer (Apple Silicon or Intel), an admin user on the machine, and one enrollment key from Settings → Compute Nodes → Enrollment keys.
Step 1 — Generate an enrollment key
Same as chapter 1: sign in to app.getzyra.io, open Settings → Compute Nodes → Enrollment keys, click Create key, copy the token. Treat it like a password.
Step 2 — Download the installer
From the Mac, visit app.getzyra.io/devices/add and pick the macOS tab. Two downloads:
Zyra Agent-1.9.0-mac-arm64.dmgfor Apple Silicon (M1, M2, M3, M4).Zyra Agent-1.9.0-mac-x64.dmgfor Intel Macs.
The page should auto-detect your architecture and surface the right one first. If you're rolling out via MDM, the .zip variant of either is also published next to the .dmg.
For headless Macs (Mac mini build servers, CI hosts), use zyra-install.sh instead — same idea as the Windows batch script. It writes a config.ini with the embedded enrollment key under ~/.zyra/ and starts the agent in the background.
Step 3 — Open the DMG and drag to Applications
Double-click the .dmg. A standard Finder window opens with the Zyra Agent icon on the left and a shortcut to Applications on the right. Drag the icon into Applications. Eject the DMG when the copy completes.
Step 4 — Get past Gatekeeper
Open Applications and double-click Zyra Agent. On first run macOS will block it with one of two messages:
- "Zyra Agent cannot be opened because the developer cannot be verified." — Gatekeeper sees an unnotarized app. Production builds of v1.9.0 are hardened-runtime and ad-hoc signed but not Apple-notarized, which is enough to run with one extra click.
- "Zyra Agent" was blocked to protect your Mac. — newer macOS phrasing for the same situation.
Open System Settings → Privacy & Security. Scroll to the bottom. You'll see "Zyra Agent was blocked from use because it is not from an identified developer." Click Open Anyway. Confirm with your admin password. The agent launches.
This approval is one-time per machine. Subsequent launches don't prompt again.
Step 5 — Approve "Run at login"
The agent automatically registers itself as a Login Item using Electron's app.setLoginItemSettings({ openAtLogin: true, name: 'Zyra Agent' }). macOS surfaces this in System Settings → General → Login Items & Extensions under the Open at Login list. No action needed unless you want to disable it.
For headless Macs without a login session, use a launchd user agent instead. (A first-party launchd plist is on the agent team's backlog — the current zyra-install.sh drops a script under ~/.zyra/ and starts it with nohup.)
Step 6 — Pair with enrollment key
The pairing window is identical to Windows. Pick Pair with enrollment key, paste the key, click Validate. The agent reports the Mac's hardware (Apple Silicon model name, RAM, GPU) and the new Compute Node appears in the dashboard within 60 seconds.
What just happened
The agent is installed under /Applications/Zyra Agent.app, runs at login, and is paired to your organization. Heartbeats flow every 30 seconds. The macOS keychain holds the agent's auth token; pull it for debugging with security find-generic-password -s 'Zyra Agent' -w if needed.
Troubleshooting
- App still won't open after "Open Anyway". Quarantine attribute may have re-attached after a copy. Run
xattr -d com.apple.quarantine "/Applications/Zyra Agent.app". - Apple Silicon Mac shows "PowerPC or Intel only" warning. You downloaded the wrong build. Get the
arm64.dmginstead. - "Operation not permitted" errors in the agent log. macOS sandbox blocking access — grant Full Disk Access at System Settings → Privacy & Security → Full Disk Access if you intend to run Virtual Servers that mount host paths. Most workloads don't need this.
- Agent log location.
~/Library/Logs/Zyra Agent/main.log(electron-log default).
Last reviewed: 2026-05-21