2025-12-14 03:59:24 +00:00
---
2026-01-30 03:15:10 +01:00
summary: "First-run onboarding flow for OpenClaw (macOS app)"
2025-12-14 03:59:24 +00:00
read_when:
- Designing the macOS onboarding assistant
2026-01-08 23:06:56 +01:00
- Implementing auth or identity setup
2026-02-05 10:09:45 -05:00
title: "Onboarding (macOS App)"
2026-02-05 17:45:01 -05:00
sidebarTitle: "Onboarding: macOS App"
2025-12-14 03:59:24 +00:00
---
2026-01-31 21:13:13 +09:00
2026-02-05 10:09:45 -05:00
# Onboarding (macOS App)
2025-12-14 03:59:24 +00:00
2026-01-08 23:06:56 +01:00
This doc describes the **current** first‑ run onboarding flow. The goal is a
smooth “day 0” experience: pick where the Gateway runs, connect auth, run the
wizard, and let the agent bootstrap itself.
2026-02-10 20:31:02 +08:00
For a general overview of onboarding paths, see [Onboarding Overview ](/start/onboarding-overview ).
2025-12-14 03:59:24 +00:00
2026-02-05 12:08:35 -05:00
< Steps >
< Step title = "Approve macOS warning" >
< Frame >
2026-02-05 17:45:01 -05:00
< img src = "/assets/macos-onboarding/01-macos-warning.jpeg" alt = "" / >
2026-02-05 12:08:35 -05:00
< / Frame >
< / Step >
< Step title = "Approve find local networks" >
< Frame >
2026-02-05 17:45:01 -05:00
< img src = "/assets/macos-onboarding/02-local-networks.jpeg" alt = "" / >
2026-02-05 12:08:35 -05:00
< / Frame >
< / Step >
< Step title = "Welcome and security notice" >
< Frame caption = "Read the security notice displayed and decide accordingly" >
2026-02-05 17:45:01 -05:00
< img src = "/assets/macos-onboarding/03-security-notice.png" alt = "" / >
2026-02-05 12:08:35 -05:00
< / Frame >
2026-02-26 02:59:10 +01:00
Security trust model:
- By default, OpenClaw is a personal agent: one trusted operator boundary.
- Shared/multi-user setups require lock-down (split trust boundaries, keep tool access minimal, and follow [Security ](/gateway/security )).
2026-03-07 16:40:51 +00:00
- Local onboarding now defaults new configs to `tools.profile: "coding"` so fresh local setups keep filesystem/runtime tools without forcing the unrestricted `full` profile.
2026-03-02 18:15:43 +00:00
- If hooks/webhooks or other untrusted content feeds are enabled, use a strong modern model tier and keep strict tool policy/sandboxing.
2026-02-26 05:23:30 +01:00
2026-02-05 12:08:35 -05:00
< / Step >
< Step title = "Local vs Remote" >
< Frame >
2026-02-05 17:45:01 -05:00
< img src = "/assets/macos-onboarding/04-choose-gateway.png" alt = "" / >
2026-02-05 12:08:35 -05:00
< / Frame >
2025-12-14 03:59:24 +00:00
2026-01-08 23:06:56 +01:00
Where does the **Gateway** run?
2025-12-14 03:59:24 +00:00
2026-02-26 00:17:03 +01:00
- **This Mac (Local only):** onboarding can configure auth and write credentials
2026-01-08 23:06:56 +01:00
locally.
2026-02-26 00:17:03 +01:00
- **Remote (over SSH/Tailnet):** onboarding does **not** configure local auth;
2026-01-08 23:06:56 +01:00
credentials must exist on the gateway host.
- **Configure later:** skip setup and leave the app unconfigured.
2025-12-14 03:59:24 +00:00
2026-02-05 12:08:35 -05:00
< Tip >
**Gateway auth tip:**
2026-02-26 05:23:30 +01:00
2026-01-11 01:51:07 +01:00
- The wizard now generates a **token** even for loopback, so local WS clients must authenticate.
- If you disable auth, any local process can connect; use that only on fully trusted machines.
2026-01-08 23:06:56 +01:00
- Use a **token** for multi‑ machine access or non‑ loopback binds.
2026-02-26 05:23:30 +01:00
2026-02-05 12:08:35 -05:00
< / Tip >
< / Step >
< Step title = "Permissions" >
< Frame caption = "Choose what permissions do you want to give OpenClaw" >
2026-02-05 17:45:01 -05:00
< img src = "/assets/macos-onboarding/05-permissions.png" alt = "" / >
2026-02-05 12:08:35 -05:00
< / Frame >
2026-01-05 06:46:20 +01:00
2026-01-08 23:06:56 +01:00
Onboarding requests TCC permissions needed for:
2026-01-05 06:46:20 +01:00
2026-02-05 12:08:35 -05:00
- Automation (AppleScript)
2026-01-08 23:06:56 +01:00
- Notifications
- Accessibility
- Screen Recording
2026-02-05 12:08:35 -05:00
- Microphone
- Speech Recognition
- Camera
- Location
2026-02-05 12:14:45 -05:00
< / Step >
< Step title = "CLI" >
2026-02-05 12:08:35 -05:00
< Info > This step is optional< / Info >
The app can install the global `openclaw` CLI via npm/pnpm so terminal
workflows and launchd tasks work out of the box.
2026-02-05 12:14:45 -05:00
< / Step >
< Step title = "Onboarding Chat (dedicated session)" >
2026-02-05 12:08:35 -05:00
After setup, the app opens a dedicated onboarding chat session so the agent can
introduce itself and guide next steps. This keeps first‑ run guidance separate
from your normal conversation. See [Bootstrapping ](/start/bootstrapping ) for
what happens on the gateway host during the first agent run.
2026-02-05 12:14:45 -05:00
< / Step >
< / Steps >