Updating
Clawdbot is moving fast (pre “1.0”). Treat updates like shipping infra: update → run checks → restart → verify.Before you update
- Know how you installed: npm (global) vs from source (git clone).
- Know how your Gateway is running: foreground terminal vs supervised service (launchd/systemd).
- Snapshot your tailoring:
- Config:
~/.clawdbot/clawdbot.json - Credentials:
~/.clawdbot/credentials/ - Workspace:
~/clawd
- Config:
Update (npm install)
Global install (pick one):- If your Gateway runs as a service,
clawdbot daemon restartis preferred over killing PIDs. - If you’re pinned to a specific version, see “Rollback / pinning” below.
Update (Control UI / RPC)
The Control UI has Update & Restart (RPC:update.run). It:
- Runs a git update (clean rebase) or package manager update.
- Writes a restart sentinel with a structured report (stdout/stderr tail).
- Restarts the gateway and pings the last active session with the report.
Update (from source)
From the repo checkout:pnpm buildmatters when you run the packagedclawdbotbinary (dist/entry.js) or use Node to rundist/.- If you run directly from TypeScript (
pnpm clawdbot .../bun run clawdbot ...), a rebuild is usually unnecessary, but config migrations still apply → run doctor.
Always run: clawdbot doctor
Doctor is the “safe update” command. It’s intentionally boring: repair + migrate + warn.
Typical things it does:
- Migrate deprecated config keys / legacy config file locations.
- Audit DM policies and warn on risky “open” settings.
- Check Gateway health and can offer to restart.
- Detect and migrate older gateway services (launchd/systemd; legacy schtasks) to current Clawdbot services.
- On Linux, ensure systemd user lingering (so the Gateway survives logout).
Start / stop / restart the Gateway
CLI (works regardless of OS):- macOS launchd (app-bundled LaunchAgent):
launchctl kickstart -k gui/$UID/com.clawdbot.gateway - Linux systemd user service:
systemctl --user restart clawdbot-gateway.service - Windows (WSL2):
systemctl --user restart clawdbot-gateway.servicelaunchctl/systemctlonly work if the service is installed; otherwise runclawdbot daemon install.
Rollback / pinning (when something breaks)
Pin (npm)
Install a known-good version:Pin (source) by date
Pick a commit from a date (example: “state of main as of 2026-01-01”):If you’re stuck
- Run
clawdbot doctoragain and read the output carefully (it often tells you the fix). - Check: Troubleshooting
- Ask in Discord: https://discord.gg/clawd