Appearance
Install the agent on macOS
The macOS agent runs as a launchd daemon under LaunchDaemons, survives reboots and lid-close, and reconnects automatically after the Mac comes back from sleep. Installation is the same curl | sudo bash one-liner used for Linux.
Regional ingest hosts
This article uses ingest-eu.opsmerge.cloud throughout — the EU cell's agent ingest host. If your OpsMerge tenant is in another region (e.g. US), the ingest hostname will be different (ingest-us.opsmerge.cloud, and so on). Always use the host shown in OpsMerge → Add agent, which is pre-filled with your tenant's correct value — don't hand-copy from this article.
Prerequisites
- macOS 12 (Monterey) or later, on either Apple Silicon (M1/M2/M3/M4) or Intel.
- The Mac must be able to reach
ingest-eu.opsmerge.cloudon port 443 (binary download + registration) and on port 4222 (NATS). - A user account with sudo / admin rights.
- A registration token from OpsMerge.
Managed Macs (Jamf, Mosyle, Kandji, Intune)
The same agent works under MDM-managed installs. Wrap the curl | sudo bash command in a pkg or a script payload from your MDM. The agent does not require an MDM profile to function — but it does need to be installed as root.
Step 1 — Generate a registration token
- Sign in to OpsMerge at app.opsmerge.cloud.
- Open Clients, pick the client this Mac belongs to, and click Add agent.
- Copy the macOS install command.
The dialog generates a token scoped to that one client. Tokens are single-use by default and expire after 24 hours.
Step 2 — Install
Open Terminal and paste the install command. It looks like this (your token will differ):
bash
curl -sL https://ingest-eu.opsmerge.cloud/scripts/install-agent.sh \
| sudo bash -s -- \
--server https://ingest-eu.opsmerge.cloud \
--token YOUR-TOKEN-HEREYou'll be prompted for the local admin password. The script downloads the agent binary for the correct architecture (arm64 or x86_64), verifies its checksum, writes the agent config, installs the launchd plist at /Library/LaunchDaemons/cloud.opsmerge.agent.plist, registers with OpsMerge, and starts the daemon.
Expected runtime is about 10 seconds. You should see:
==> Registration successful
==> Service startedDo not use app.opsmerge.cloud for the install
Cloudflare's Bot Fight Mode returns an HTML challenge to curl, which then breaks bash. The installer host must be ingest-eu.opsmerge.cloud.
Step 3 — Verify
In OpsMerge: open Agents, filter by the client, and the new Mac should appear within 30 seconds with Online status, model name (e.g. MacBookPro18,3), and current macOS version.
On the Mac:
bash
sudo launchctl list | grep opsmergeThe agent should be listed with a PID and a 0 exit code (or no exit code at all — it's running).
To tail the log:
bash
tail -f /var/log/rmm-agent.logRe-installing or repairing
Append --force to the install command. The script will stop the existing daemon, remove its plist and config, then install fresh.
bash
curl -sL https://ingest-eu.opsmerge.cloud/scripts/install-agent.sh \
| sudo bash -s -- \
--server https://ingest-eu.opsmerge.cloud \
--token YOUR-TOKEN-HERE \
--forceRemoving the agent
If you need to uninstall a Mac agent (e.g. before reassigning the device):
bash
sudo /usr/local/bin/rmm-agent uninstallThis stops the daemon, removes the plist, deletes /etc/rmm/, and clears the binary. The agent's history stays in OpsMerge — it just goes offline permanently.
Common installation issues
"This action requires the application to be allowed full disk access." macOS Privacy & Security blocks the launchd daemon from reading certain paths. Open System Settings → Privacy & Security → Full Disk Access and add /usr/local/bin/rmm-agent. This affects some collectors (e.g. mailbox-size telemetry) but doesn't block registration or core monitoring.
Agent registers but immediately goes offline. Check /var/log/rmm-agent.log for TLS handshake or permission denied errors. The most common cause is an outbound firewall (e.g. Little Snitch, an MDM-managed proxy, or a Cisco Umbrella roaming client) blocking port 4222.
Apple Silicon Mac installs the wrong architecture. Rare, but if you've forced Rosetta on your Terminal, the install script may see x86_64 and grab the wrong binary. Right-click Terminal in Finder → Get Info → uncheck Open using Rosetta, then re-run.