← Back to PRs

#9131: feat: add macOS launcher app builder

by khanorko open 2026-02-04 22:23 View on GitHub →
scripts stale
## Summary - Adds a simple AppleScript-based macOS launcher that starts the gateway and opens Control UI - Includes build script and README for easy installation ## What it does 1. Checks if gateway is already running 2. If not, starts `openclaw gateway run` in the background 3. Opens http://127.0.0.1:18789/ in the browser 4. Shows a notification ## Usage ```bash ./scripts/macos-launcher/build.sh # Creates ~/Desktop/OpenClaw.app ``` ## Test plan - [ ] Run `./scripts/macos-launcher/build.sh` - [ ] Double-click the created app - [ ] Verify gateway starts and Control UI opens 🤖 Generated with [Claude Code](https://claude.ai/code) <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> Adds a small macOS launcher under `scripts/macos-launcher/`: - AppleScript app that tries to detect whether the gateway is running, start it in the background if not, then opens the Control UI URL and notifies the user. - `build.sh` compiles the AppleScript to `OpenClaw.app` (optionally copying the existing `.icns` from `apps/macos/...`). - README with build/install instructions. Main functional concern: the launcher’s “is it running / did it start” logic is currently optimistic and can report success/open the UI even when the gateway didn’t actually start. <h3>Confidence Score: 3/5</h3> - Not safe to merge as-is due to launcher reliability issues in common setups. - The changes are small and isolated, but the launcher can incorrectly skip starting the gateway (broad `pgrep -f` match) and can claim the gateway started even when it refused to start due to missing config/flags; both lead to a broken user experience for the primary use case. - scripts/macos-launcher/OpenClaw.applescript <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> **Context used:** - Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8)) - Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13)) <!-- /greptile_comment -->

Most Similar PRs