diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 3a6adb02c..2c8dc2f90 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "5a202f6f909daf37beb951252a80a27f280e4c31", - "syncedAt": "2026-04-25T00:50:56.659Z" + "sha": "fde4bf7fc1fc5fff014ed559e49cfd81323d2190", + "syncedAt": "2026-04-25T01:00:15.377Z" } diff --git a/docs/cli/doctor.md b/docs/cli/doctor.md index 96fec5d61..6e61b1586 100644 --- a/docs/cli/doctor.md +++ b/docs/cli/doctor.md @@ -43,7 +43,7 @@ Notes: - `--fix` (alias for `--repair`) writes a backup to `~/.openclaw/openclaw.json.bak` and drops unknown config keys, listing each removal. - State integrity checks now detect orphan transcript files in the sessions directory and can archive them as `.deleted.` to reclaim space safely. - Doctor also scans `~/.openclaw/cron/jobs.json` (or `cron.store`) for legacy cron job shapes and can rewrite them in place before the scheduler has to auto-normalize them at runtime. -- Doctor repairs missing bundled plugin runtime dependencies without requiring write access to the installed OpenClaw package. For root-owned npm installs or hardened systemd units, set `OPENCLAW_PLUGIN_STAGE_DIR` to a writable directory such as `/var/lib/openclaw/plugin-runtime-deps`. +- Doctor repairs missing bundled plugin runtime dependencies without writing into packaged global installs. For root-owned npm installs or hardened systemd units, set `OPENCLAW_PLUGIN_STAGE_DIR` to a writable directory such as `/var/lib/openclaw/plugin-runtime-deps`. - Doctor auto-migrates legacy flat Talk config (`talk.voiceId`, `talk.modelId`, and friends) into `talk.provider` + `talk.providers.`. - Repeat `doctor --fix` runs no longer report/apply Talk normalization when the only difference is object key order. - Doctor includes a memory-search readiness check and can recommend `openclaw configure --section model` when embedding credentials are missing. diff --git a/docs/install/updating.md b/docs/install/updating.md index 90f5befa0..fd0f91f00 100644 --- a/docs/install/updating.md +++ b/docs/install/updating.md @@ -52,13 +52,17 @@ pnpm add -g openclaw@latest bun add -g openclaw@latest ``` -### Root-owned global npm installs +### Global npm installs and runtime dependencies -Some Linux npm setups install global packages under root-owned directories such as -`/usr/lib/node_modules/openclaw`. OpenClaw supports that layout: the installed -package is treated as read-only at runtime, and bundled plugin runtime +OpenClaw treats packaged global installs as read-only at runtime, even when the +global package directory is writable by the current user. Bundled plugin runtime dependencies are staged into a writable runtime directory instead of mutating the -package tree. +package tree. This keeps `openclaw update` from racing with a running gateway or +local agent that is repairing plugin dependencies during the same install. + +Some Linux npm setups install global packages under root-owned directories such +as `/usr/lib/node_modules/openclaw`. OpenClaw supports that layout through the +same external staging path. For hardened systemd units, set a writable stage directory that is included in `ReadWritePaths`: