中文 | English
A macOS Menu Bar controller for OpenClaw Gateway, featuring automatic iMessage full disk access permission handling.
- 🦞 Menu Bar Icon - Clean status bar interface with color-coded status indicators
- 🚀 Gateway Control - Start/Stop/Restart OpenClaw Gateway with one click
- 🔐 iMessage Support - Ensures Gateway runs with full disk access permissions for iMessage functionality
- 🔄 Auto-start - Optionally auto-start Gateway when the controller launches
- 📊 Dashboard Access - Quick access to OpenClaw Dashboard
- ⚡ Real-time Status - Automatic status detection every 5 seconds
When OpenClaw Gateway is started via LaunchAgent or directly, it may not have full disk access permissions, causing iMessage functionality to fail. This controller solves this by:
- Using Terminal.app (which already has full disk access) to launch Gateway
- Providing a convenient Menu Bar interface for daily use
- Automatically handling permission inheritance
OpenClaw MenuBar.app → Terminal.app (with full disk access) → Gateway ✅
git clone https://github.com/pockegar/OpenClaw-MenuBar.git
cd OpenClaw-MenuBar
swift build -c releaseThe built binary will be at .build/release/OpenClawMenuBar.
Download the latest release from Releases.
- First Launch: Grant "Automation" permission when prompted (System Settings → Privacy & Security → Automation)
- Grant Full Disk Access to Terminal: Ensure Terminal.app has full disk access
- Click the 🦞 icon in the Menu Bar to access controls
| Option | Description |
|---|---|
| Start Gateway | Launch OpenClaw Gateway in Terminal |
| Stop Gateway | Stop the running Gateway |
| Restart Gateway | Stop and restart Gateway |
| Open Dashboard | Open OpenClaw web dashboard |
| Auto-start Gateway | Toggle automatic start on launch |
- macOS 12.0+
- OpenClaw installed (
openclawcommand available) - Terminal.app with Full Disk Access permission
TonyController/
├── TonyControllerApp.swift # App entry point
├── MenuBarController.swift # Menu bar UI and interactions
├── GatewayManager.swift # Gateway control logic
└── SettingsManager.swift # User preferences
The app requires the following permissions:
- Automation - Control Terminal.app
- Accessibility (optional) - For enhanced UI interactions
To grant permissions:
- System Settings → Privacy & Security → Automation → Enable "OpenClaw MenuBar"
- Check if Terminal.app has Full Disk Access
- Verify "Automation" permission is granted to OpenClaw MenuBar
- Check Console.app for error messages
- Ensure Gateway was started through OpenClaw MenuBar (not directly)
- Verify Terminal.app has Full Disk Access permission
- Restart Gateway using the controller
Pull requests are welcome! For major changes, please open an issue first.
- Built for OpenClaw
- Inspired by the need for reliable iMessage gateway control