Install on macOS
How it works on a Mac
Section titled “How it works on a Mac”Docker Desktop runs the server stack (PostgreSQL, Temporal, the Azhi server). The CLI and a development worker run natively.
-
Install prerequisites with Homebrew.
Terminal window brew install node@22 gitbrew install --cask docker # start Docker Desktop once and wait until it is runningbrew install uv # optional: Python script nodesbrew install oven-sh/bun/bun # optional: Bun script nodesbrew install ripgrep # needed by OpenCode steps -
Clone and install.
Terminal window git clone https://github.com/surr-jc/azhi-flow && cd azhi-flownpm ci -
Install the server stack.
Terminal window deploy/install.sh # prints the owner token -
Start a worker and sign in.
Terminal window export AZHI_TEMPORAL_ADDRESS=localhost:7233npx azhi login --url http://localhost:7400 --token <owner token>npx azhi worker start -
Verify.
Terminal window npx azhi setupnpx azhi doctornpx azhi open
Known macOS limit: script memory limits
Section titled “Known macOS limit: script memory limits”Script memory limits are enforced with prlimit, which macOS lacks. The run plan marks any limits.memory_mb
as unsupported and refuses the run. The flagship quality-report workflow’s metrics script sets
limits.memory_mb. To run it on a Mac, remove that line from examples/quality-report/workflow.yaml, or use a
Linux worker.
This is the plan doing its job: it refuses a guarantee the host cannot keep, rather than running without it.
Alternatives
Section titled “Alternatives”- Local mode (no Docker) is not yet tested on macOS. See Local mode.
- Linux worker, Mac client: run the server and worker on a Linux host and use
npx azhi login --url ...from your Mac. See Linux.
Next: First run.