macOS (Local)
Run OpenClaw directly on your Mac with the native menu bar companion app. Global hotkey, screen context, system automation.
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.