Install, update, run as a LaunchAgent, and uninstall on macOS (Intel or Apple Silicon).
./install.shThat is the whole install. Run it from a clone, or pipe it from curl:
The canonical installation paths explain the fast and guided routes, source fallback, app selection, PATH handoff, and the next Quickstart step.
Gets you brew services integration. Binary lives at $HOMEBREW_PREFIX/bin/zeroclaw.
Workspace location gotcha: with Homebrew, the service user and the CLI user may be different, so the workspace lives at $HOMEBREW_PREFIX/var/zeroclaw/ rather than ~/.zeroclaw/. Point CLI invocations at the same workspace:
Add that to your shell profile if you want it permanent.
Most features work with a stock macOS install. Optional extras:
| Feature | Install |
|---|---|
| Docs translation | brew install gettext |
| Browser tool | Playwright pulls Chromium automatically on first use |
| Hardware | No native GPIO on macOS; use a USB-attached board. See Hardware |
| iMessage channel | Requires macOS 11+. See Channels → Other chat platforms |
zeroclaw service install # writes ~/Library/LaunchAgents/com.zeroclaw.daemon.plist
zeroclaw service start
zeroclaw service statusLogs go to ~/.zeroclaw/logs/ (Homebrew installs: $HOMEBREW_PREFIX/var/zeroclaw/logs/):
For Homebrew installs, prefer:
Both methods produce the same end state, a loaded LaunchAgent that starts on login. Pick one and stick with it.
Full details: Service management.
Re-run the installer, it detects the existing install and upgrades in place:
curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/install.sh | sh -s -- --skip-quickstart
zeroclaw service restartOr from a clone:
If installed via Homebrew instead:
# stop and unregister the service
zeroclaw service stop
zeroclaw service uninstall
# Homebrew
brew uninstall zeroclaw
# bootstrap / cargo
rm ~/.cargo/bin/zeroclawRemove config and workspace (optional: this deletes conversation history):
# Homebrew workspace
rm -rf "$HOMEBREW_PREFIX/var/zeroclaw"
# Default workspace (includes logs at ~/.zeroclaw/logs)
rm -rf ~/.zeroclaw ~/.config/zeroclaw- Homebrew config path mismatch. The
brew servicesdaemon reads config from$HOMEBREW_PREFIX/var/zeroclaw/, not~/.zeroclaw/. If your service is reading stale config, check which one the daemon sees and setZEROCLAW_WORKSPACEaccordingly. - First launch of the browser tool downloads Chromium (~150 MB) via Playwright.
- Apple Silicon and Intel: the bootstrap script detects the architecture and uses a matching prebuilt release artifact when one is available. If the release has no matching artifact, it falls back to a source build. Homebrew selects the appropriate package for the host.