Skip to content

[Feature]: Make macOS setup install and run the local Gateway automatically #99764

Description

@steipete

Summary

Make the downloadable OpenClaw Mac app install and run its local Gateway automatically, with onboarding that works end to end on a Mac that has no CLI or Node.js installed.

Problem to solve

A new Mac user can download the app but still has to understand and install the CLI/Gateway separately. The setup flow also exposes pairing approval sheets for the app's own local Mac node, even though the app and Gateway can prove they are on the same machine.

Proposed solution

  • Bundle the canonical CLI installer in the signed app.
  • Default onboarding to This Mac, then install the CLI, install/start the Gateway LaunchAgent, and wait for it automatically.
  • Explain what OpenClaw does on the welcome page and include a concise permissions disclaimer.
  • Give fresh installs a dedicated Mac-node device identity so operator and node roles do not collide.
  • Auto-approve only the exact persisted Mac node identity while the app is in local mode; keep remote and mismatched nodes on the explicit approval path.

Alternatives considered

  • Keep the current manual CLI/Gateway setup: too much product knowledge for a first-run Mac experience.
  • Send users through the web installer: adds another workflow and does not let the app own readiness/error reporting.
  • Broadly auto-approve local pairing at the Gateway: weaker boundary than matching the app's signed, persisted node identity in local mode.

Impact

  • Affected: all first-time Mac app users.
  • Severity: high for adoption; setup currently blocks users who expect a normal downloadable Mac app.
  • Frequency: every clean Mac installation.
  • Consequence: manual terminal work, confusing setup failures, and redundant approval prompts.

Evidence/examples

Validated from the newest clean Parallels macOS Tahoe snapshot (macOS 26.5, build 25F71) with no OpenClaw app, CLI, state directory, or Node.js present:

  • signed/notarized universal DMG passed Gatekeeper;
  • the welcome and This Mac screens rendered as designed;
  • the app installed OpenClaw CLI 2026.6.11 and started the loopback Gateway LaunchAgent;
  • the app's own Mac node reached approved, paired, and connected without the Allow node to connect? sheet;
  • a live OpenAI-backed onboarding turn returned the requested OPENCLAW_E2E_OK response;
  • onboarding reached All set and finished.

Related UX work: #47263.

Additional information

The implementation keeps remote-node and mismatched-identity approvals unchanged and adds focused regression coverage for that boundary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.enhancementNew feature or requestimpact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.maintainerMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions