macOS (Local)

Run OpenClaw directly on your Mac with the native menu bar companion app. Global hotkey, screen context, system automation.

macOS is the most polished local deployment for OpenClaw, thanks to the native menu bar companion app that turns your Mac into a fully integrated AI workstation. The companion app owns macOS permissions (Accessibility, Screen Recording, Microphone, Notifications, AppleScript automation), manages the gateway as a launchd service, and exposes macOS-specific capabilities like camera access, screen recording, and Canvas UI automation to your agent. The companion app operates in two modes: Local mode (default) attaches to or starts a gateway on the same Mac, while Remote mode connects to a gateway running elsewhere (e.g., a VPS via Tailscale) and exposes the Mac as a node — so a remote agent can use your Mac's screen, camera, and system tools. The launchd integration means the gateway starts automatically on boot and restarts on failure, managed via `ai.openclaw.gateway` LaunchAgent. Beyond the companion app, macOS gets the smoothest install experience. The one-liner curl script detects macOS, installs Node.js via Homebrew if needed, and sets up the gateway with a launchd service in under 5 minutes. Apple Silicon (M1/M2/M3/M4) is fully supported with native ARM64 Node.js binaries — no Rosetta overhead. The companion app adds a menu bar icon for quick status checks, native macOS notifications, and exec approvals — when your agent wants to run a shell command, you get a native macOS dialog to approve or deny it. The macOS deployment also supports PeekabooBridge for UI automation, allowing your agent to interact with macOS apps programmatically. Combined with the Canvas system for presenting web UIs and the camera/screen recording node capabilities, macOS offers the richest feature set of any OpenClaw deployment platform. It's the platform the core team uses daily, which means macOS-specific bugs get fixed fastest.

Tags: local, macos, personal, menu-bar

Use Cases

  • Personal AI assistant running on your daily-driver Mac with full system integration
  • Development workstation where the agent can access your screen, camera, and local tools
  • Remote node for a VPS-hosted gateway — expose your Mac's capabilities to a cloud agent via Tailscale
  • Creative workflows where the agent uses screen context and camera for visual tasks
  • Home automation hub using AppleScript to control macOS apps and system functions

Tips

  • Install the companion app via brew install --cask openclaw for the full macOS experience — menu bar control, native notifications, exec approvals
  • Use Remote mode to connect the companion app to a remote gateway, exposing your Mac's screen and camera to a VPS-hosted agent
  • Grant Accessibility permission early — many automation features (AppleScript, UI automation) require it
  • Set up exec approvals in the companion app to control which commands your agent can run without asking
  • Use openclaw gateway install to set up the launchd service — it survives reboots and terminal closures
  • For always-on use, disable sleep in System Settings or use caffeinate -s to prevent the Mac from sleeping
  • The companion app supports PeekabooBridge for visual UI automation — enable it in settings for browser and app control

Known Issues & Gotchas

  • The companion app requires macOS Ventura (13.0) or later — older macOS versions can still run the CLI but miss the menu bar integration
  • TCC permissions (Screen Recording, Accessibility, Microphone) must be granted manually in System Settings → Privacy & Security the first time
  • The companion app's exec approvals (system.run) are stored in ~/.openclaw/exec-approvals.json — shell commands with operators like && or || require explicit allowlisting
  • Docker Desktop on macOS has significant file I/O overhead — for development, the native install is much faster
  • If using Nix on macOS, the GUI app doesn't inherit shell environment variables — set Nix mode via defaults write instead
  • The launchd service label changed from com.openclaw.* to ai.openclaw.* — the installer handles migration but manual installs may have stale entries
  • Sleep/hibernate stops the gateway — if you need 24/7 availability, use caffeinate or deploy on a server instead

Alternatives

  • Linux (Direct)
  • Docker (on macOS)
  • Nix / Home Manager
  • Raspberry Pi

Community Feedback

Revived an old 2011 Mac Mini, flashed Ubuntu, installed OpenClaw in 20 min. But on a current Mac with the companion app, it's even smoother — menu bar control, native notifications, the works.

— Reddit r/vibecoding

Over the weekend, I had some non-technical folks tell me how they're spending money on running OpenClaw on the cloud (which is not necessary at all). If you have an old laptop, bring it back to life.

— Reddit r/vibecoding

The macOS companion app handles TCC permissions properly — Screen Recording, Accessibility, Microphone all get native prompts. Much cleaner than hacking around macOS security.

— Reddit r/selfhosted

Set a spending cap at your API provider before anything else. Automated task loops have cost people real money — this applies double on macOS where the agent has more tool access.

— Reddit r/AI_Agents

Frequently Asked Questions

Does OpenClaw work on Apple Silicon Macs?

Yes, fully. Node.js ships native ARM64 binaries for Apple Silicon (M1/M2/M3/M4). There's no Rosetta 2 overhead. The companion app is also a universal binary.

What does the companion app do that the CLI doesn't?

The companion app provides a menu bar icon for status monitoring, native macOS notifications, TCC permission management (Screen Recording, Accessibility, Microphone), exec approval dialogs for system.run commands, and launchd service management. The CLI can do everything except the native UI elements.

Can I run OpenClaw headless on macOS?

Yes. The CLI and gateway work without the companion app. Use openclaw gateway install to set up a launchd service, and manage everything via the Control UI in your browser. The companion app is optional but recommended for the full experience.

How do I keep OpenClaw running when I close the terminal?

Install the launchd service with openclaw gateway install or openclaw onboard --install-daemon. This creates a LaunchAgent that keeps the gateway running in the background, surviving terminal closures and reboots.

What's Remote mode in the companion app?

Remote mode connects the companion app to a gateway running on a different machine (e.g., a VPS). Your Mac becomes a node, exposing its screen, camera, and system tools to the remote agent. The gateway communicates with the node over WebSocket via SSH or Tailscale.

Does macOS sleep affect the gateway?

Yes. When your Mac sleeps, the gateway process is suspended and won't respond to messages. Use caffeinate -s to prevent sleep, disable sleep in System Settings, or deploy on a dedicated device (Raspberry Pi, VPS) for 24/7 availability.

How do I uninstall the companion app?

Run brew uninstall --cask openclaw. The CLI and gateway are separate — uninstalling the companion app doesn't remove OpenClaw itself. To fully uninstall, also run npm uninstall -g openclaw.