Install on Windows
There are two routes on Windows. Pick one.
The team installer is a bash script and workers are Linux-only, so run everything inside WSL2. Native Windows is not supported for this route.
-
In an admin PowerShell, install Ubuntu and reboot.
Terminal window wsl --install -d Ubuntu -
Install Docker Desktop and enable WSL integration for Ubuntu (Settings > Resources > WSL integration).
-
In the Ubuntu shell, install Node.js 22+ and git, then follow the Linux guide. Clone into the Linux filesystem (
~/azhi-flow), not/mnt/c, which is slow and breaks file permissions. -
Open Mission Control in your Windows browser. WSL2 forwards
localhost, sohttp://localhost:7400works, andnpx azhi open <run-id>prints a ready-to-paste link.
If the page does not load, check that docker ps shows port 7400 published, wait about 15 seconds after the
installer, and make sure localhostForwarding is not disabled in %UserProfile%\.wslconfig.
Local mode runs without Docker or WSL, for one person on one machine. It is experimental. The steps below were tested and work on Windows 11 Home with PowerShell 5.1.
-
Install Node.js 22+ (an administrator prompt appears). Git is also required, and Python 3.12 for script workflows.
Terminal window winget install --id OpenJS.NodeJS.LTS -e --source winget --accept-package-agreements --accept-source-agreementsOpen a new PowerShell window afterwards so
nodeandnpmare on PATH, then check:Terminal window node --versionnpm --version -
Clone the repository and switch to
dev.Terminal window git clone https://github.com/surr-jc/azhi-flow.git azhi-flowcd azhi-flowgit checkout dev -
Install dependencies (about 2 minutes, 415 packages).
Terminal window npm install -
Start local mode. Keep this window open; it is the server.
Terminal window npx azhi up --port 7410 -
In a second PowerShell window, verify.
Terminal window (Invoke-WebRequest -UseBasicParsing http://127.0.0.1:7410/ui).StatusCode # expect 200npx azhi doctor
Type plain hyphens, not dashes pasted from a document. The first azhi up takes a few minutes because it
builds the web app and downloads the Temporal CLI (about 45 MB, once, checksum-verified) into ~\.azhi\bin. Later
starts skip both.
Daily use
Section titled “Daily use”| Task | Command |
|---|---|
| Start | npx azhi up --port 7410 |
| Print the sign-in link for the web UI | npx azhi open |
| Check health | npx azhi doctor |
| Stop | npx azhi down (or Ctrl+C in the server window) |
| Update | git pull origin dev, then npm install, then start again |
On Windows azhi down stops the process hard (there is no SIGTERM). The database and Temporal recover cleanly
on the next start.
Windows notes
Section titled “Windows notes”limits.memory_mbis Linux-only; workflows that set it are refused on Windows with a clear reason.- OpenCode steps also run on native Windows, but this is new and not yet checked by a live run. Add ripgrep
with
winget install BurntSushi.ripgrep.MSVC, open a new window, then runnpx azhi setup. - If npm 11 prints
npm warn allow-scriptsfor@swc/core,esbuild,opencode-aiorprotobufjs, startup works without them, but they may affect OpenCode steps. Runnpm approve-scripts --allow-scripts-pending, review, thennpm installagain.