Files
adolf/docs/platforms/macos.md
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

5.2 KiB

summary, read_when, title
summary read_when title
Install and use the OpenClaw macOS menu bar app
Installing the macOS app
Deciding between local and remote Gateway mode on macOS
Looking for macOS app release downloads
macOS app

The macOS app is the OpenClaw menu bar companion: native tray UI, macOS permission prompts, notifications, WebChat, voice input, Canvas, and Mac-hosted node tools such as system.run.

Only need the CLI and Gateway? Start with Getting started.

Download

Get macOS app builds from OpenClaw GitHub releases. When a release ships macOS app assets, look for:

  • OpenClaw-<version>.dmg (preferred)
  • OpenClaw-<version>.zip

Some releases only ship CLI, evidence, or Windows assets. If the newest release has no macOS app asset, use the newest one that does, or build from source with macOS dev setup.

First run

  1. Install and launch OpenClaw.app.
  2. Pick This Mac for a local Gateway, or connect to a remote Gateway.
  3. Local mode: wait while the app installs its user-space runtime and Gateway.
  4. Complete provider setup and the macOS permission checklist.
  5. Send the onboarding test message.

For the CLI/Gateway setup path, use Getting started. For permission recovery, use macOS permissions.

Choose a Gateway mode

Mode Use it when Detail page
Local This Mac should run the Gateway and keep it alive with launchd. Gateway on macOS
Remote Another host runs the Gateway; this Mac controls it over SSH, LAN, or Tailnet. Remote control

Local mode needs an installed openclaw CLI. On a fresh Mac, the app installs the matching CLI and runtime automatically before starting the Gateway wizard. See Gateway on macOS for manual recovery.

What the app owns

  • Menu bar status, notifications, health, and WebChat.
  • macOS permission prompts for screen, microphone, speech, automation, and accessibility.
  • Local node tools: Canvas, camera/screen capture, notifications, and system.run.
  • Exec approval prompts for Mac-hosted commands.
  • Remote-mode SSH tunnels or direct Gateway connections.

The app does not replace the Gateway or general CLI docs. Gateway configuration, providers, plugins, channels, tools, and security live in their own docs.

macOS detail pages

Task Read
Install or debug the CLI/Gateway service Gateway on macOS
Keep state out of cloud-synced folders Gateway on macOS
Debug app discovery and connectivity Gateway on macOS
Understand launchd behavior Gateway lifecycle
Fix permissions or signing/TCC issues macOS permissions
Connect to a remote Gateway Remote control
Read menu bar status and health checks Menu bar, Health checks
Use the embedded chat UI WebChat
Use voice wake or push-to-talk Voice wake
Use Canvas and Canvas deep links Canvas
Host PeekabooBridge for UI automation Peekaboo bridge
Configure command approvals Exec approvals, advanced details
Inspect Mac node commands and app IPC macOS IPC
Capture logs macOS logging
Build from source macOS dev setup