CoderClaw is moving fast (pre “1.0”). Treat updates like shipping infra: update → run checks → restart (or use coderclaw update, which restarts) → verify.
The preferred update path is to re-run the installer from the website. It
detects existing installs, upgrades in place, and runs coderclaw doctor when
needed.
curl -fsSL https://coderclaw.ai/install.sh | bash
Notes:
--no-onboard if you don’t want the onboarding wizard to run again.For source installs, use:
curl -fsSL https://coderclaw.ai/install.sh | bash -s -- --install-method git --no-onboard
The installer will git pull --rebase only if the repo is clean.
npm install -g coderclaw@latest under the hood.coderclaw remains available as a compatibility shim.~/.coderclaw/coderclaw.json~/.coderclaw/credentials/~/.coderclaw/workspaceGlobal install (pick one):
npm i -g coderclaw@latest
pnpm add -g coderclaw@latest
We do not recommend Bun for the Gateway runtime (WhatsApp/Telegram bugs).
To switch update channels (git + npm installs):
coderclaw update --channel beta
coderclaw update --channel dev
coderclaw update --channel stable
Use --tag <dist-tag|version> for a one-off install tag/version.
See Development channels for channel semantics and release notes.
Note: on npm installs, the gateway logs an update hint on startup (checks the current channel tag). Disable via update.checkOnStart: false.
Then:
coderclaw doctor
coderclaw gateway restart
coderclaw health
Notes:
coderclaw gateway restart is preferred over killing PIDs.coderclaw update)For source installs (git checkout), prefer:
coderclaw update
It runs a safe-ish update flow:
coderclaw doctor.--no-restart to skip).If you installed via npm/pnpm (no git metadata), coderclaw update will try to update via your package manager. If it can’t detect the install, use “Update (global install)” instead.
The Control UI has Update & Restart (RPC: update.run). It:
coderclaw update (git checkout only).If the rebase fails, the gateway aborts and restarts without applying the update.
From the repo checkout:
Preferred:
coderclaw update
Manual (equivalent-ish):
git pull
pnpm install
pnpm build
pnpm ui:build # auto-installs UI deps on first run
coderclaw doctor
coderclaw health
Notes:
pnpm build matters when you run the packaged coderclaw binary (coderclaw.mjs) or use Node to run dist/.pnpm coderclaw ... for CLI commands.pnpm coderclaw ...), a rebuild is usually unnecessary, but config migrations still apply → run doctor.coderclaw doctor so the gateway service entrypoint is rewritten to the current install.coderclaw doctorDoctor is the “safe update” command. It’s intentionally boring: repair + migrate + warn.
Note: if you’re on a source install (git checkout), coderclaw doctor will offer to run coderclaw update first.
Typical things it does:
Details: Doctor
CLI (works regardless of OS):
coderclaw gateway status
coderclaw gateway stop
coderclaw gateway restart
coderclaw gateway --port 18789
coderclaw logs --follow
If you’re supervised:
launchctl kickstart -k gui/$UID/bot.molt.gateway (use bot.molt.<profile>; legacy com.coderclaw.* still works)systemctl --user restart coderclaw-gateway[-<profile>].servicesystemctl --user restart coderclaw-gateway[-<profile>].service
launchctl/systemctl only work if the service is installed; otherwise run coderclaw gateway install.Runbook + exact service labels: Gateway runbook
Install a known-good version (replace <version> with the last working one):
npm i -g coderclaw@<version>
pnpm add -g coderclaw@<version>
Tip: to see the current published version, run npm view coderclaw version.
Then restart + re-run doctor:
coderclaw doctor
coderclaw gateway restart
Pick a commit from a date (example: “state of main as of 2026-01-01”):
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
Then reinstall deps + restart:
pnpm install
pnpm build
coderclaw gateway restart
If you want to go back to latest later:
git checkout main
git pull
coderclaw doctor again and read the output carefully (it often tells you the fix).