コンテンツにスキップ

Updating

このコンテンツはまだ日本語訳がありません。

CoderClaw is moving fast (pre “1.0”). Treat updates like shipping infra: update → run checks → restart (or use coderclaw update, which restarts) → verify.

Section titled “Recommended: re-run the website installer (upgrade in place)”

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.

Terminal window
curl -fsSL https://coderclaw.ai/install.sh | bash

Notes:

  • Add --no-onboard if you don’t want the onboarding wizard to run again.

  • For source installs, use:

    Terminal window
    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.

  • For global installs, the script uses npm install -g coderclaw@latest under the hood.

  • Legacy note: coderclaw remains available as a compatibility shim.

  • Know how you installed: global (npm/pnpm) vs from source (git clone).
  • Know how your Gateway is running: foreground terminal vs supervised service (launchd/systemd).
  • Snapshot your tailoring:
    • Config: ~/.coderclaw/coderclaw.json
    • Credentials: ~/.coderclaw/credentials/
    • Workspace: ~/.coderclaw/workspace

Global install (pick one):

Terminal window
npm i -g coderclaw@latest
Terminal window
pnpm add -g coderclaw@latest

We do not recommend Bun for the Gateway runtime (WhatsApp/Telegram bugs).

To switch update channels (git + npm installs):

Terminal window
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:

Terminal window
coderclaw doctor
coderclaw gateway restart
coderclaw health

Notes:

  • If your Gateway runs as a service, coderclaw gateway restart is preferred over killing PIDs.
  • If you’re pinned to a specific version, see “Rollback / pinning” below.

For source installs (git checkout), prefer:

Terminal window
coderclaw update

It runs a safe-ish update flow:

  • Requires a clean worktree.
  • Switches to the selected channel (tag or branch).
  • Fetches + rebases against the configured upstream (dev channel).
  • Installs deps, builds, builds the Control UI, and runs coderclaw doctor.
  • Restarts the gateway by default (use --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:

  1. Runs the same source-update flow as coderclaw update (git checkout only).
  2. Writes a restart sentinel with a structured report (stdout/stderr tail).
  3. Restarts the gateway and pings the last active session with the report.

If the rebase fails, the gateway aborts and restarts without applying the update.

From the repo checkout:

Preferred:

Terminal window
coderclaw update

Manual (equivalent-ish):

Terminal window
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/.
  • If you run from a repo checkout without a global install, use pnpm coderclaw ... for CLI commands.
  • If you run directly from TypeScript (pnpm coderclaw ...), a rebuild is usually unnecessary, but config migrations still apply → run doctor.
  • Switching between global and git installs is easy: install the other flavor, then run coderclaw doctor so the gateway service entrypoint is rewritten to the current install.

Doctor 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:

  • 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 CoderClaw services.
  • On Linux, ensure systemd user lingering (so the Gateway survives logout).

Details: Doctor

CLI (works regardless of OS):

Terminal window
coderclaw gateway status
coderclaw gateway stop
coderclaw gateway restart
coderclaw gateway --port 18789
coderclaw logs --follow

If you’re supervised:

  • macOS launchd (app-bundled LaunchAgent): launchctl kickstart -k gui/$UID/bot.molt.gateway (use bot.molt.<profile>; legacy com.coderclaw.* still works)
  • Linux systemd user service: systemctl --user restart coderclaw-gateway[-<profile>].service
  • Windows (WSL2): systemctl --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

Rollback / pinning (when something breaks)

Section titled “Rollback / pinning (when something breaks)”

Install a known-good version (replace <version> with the last working one):

Terminal window
npm i -g coderclaw@<version>
Terminal window
pnpm add -g coderclaw@<version>

Tip: to see the current published version, run npm view coderclaw version.

Then restart + re-run doctor:

Terminal window
coderclaw doctor
coderclaw gateway restart

Pick a commit from a date (example: “state of main as of 2026-01-01”):

Terminal window
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"

Then reinstall deps + restart:

Terminal window
pnpm install
pnpm build
coderclaw gateway restart

If you want to go back to latest later:

Terminal window
git checkout main
git pull