diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 760dd3fe0..0aa2239af 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "585ce38015ef2145974f0ee12d5c02594796f29d", - "syncedAt": "2026-05-04T07:26:45.188Z" + "sha": "281b5bd511de1191138a65072a8f9b494b5a337f", + "syncedAt": "2026-05-04T08:18:28.744Z" } diff --git a/docs/cli/plugins.md b/docs/cli/plugins.md index 878caf055..6477a06a0 100644 --- a/docs/cli/plugins.md +++ b/docs/cli/plugins.md @@ -387,6 +387,8 @@ The local plugin registry is OpenClaw's persisted cold read model for installed Use `plugins registry` to inspect whether the persisted registry is present, current, or stale. Use `--refresh` to rebuild it from the persisted plugin index, config policy, and manifest/package metadata. This is a repair path, not a runtime activation path. +`openclaw doctor --fix` also repairs registry-adjacent managed npm drift: if an orphaned `@openclaw/*` package under the managed plugin npm root shadows a bundled plugin, doctor removes that stale package and rebuilds the registry so startup validates against the bundled manifest. + `OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1` is a deprecated break-glass compatibility switch for registry read failures. Prefer `plugins registry --refresh` or `openclaw doctor --fix`; the env fallback is only for emergency startup recovery while the migration rolls out. diff --git a/docs/gateway/doctor.md b/docs/gateway/doctor.md index 761c54efd..07c8d816c 100644 --- a/docs/gateway/doctor.md +++ b/docs/gateway/doctor.md @@ -344,7 +344,7 @@ That stages grounded durable candidates into the short-term dreaming store while When sandboxing is enabled, doctor checks Docker images and offers to build or switch to legacy names if the current image is missing. - Doctor removes legacy OpenClaw-generated plugin dependency staging state in `openclaw doctor --fix` / `openclaw doctor --repair` mode. This covers stale generated dependency roots, old install-stage directories, and package-local debris from earlier bundled-plugin dependency repair code. + Doctor removes legacy OpenClaw-generated plugin dependency staging state in `openclaw doctor --fix` / `openclaw doctor --repair` mode. This covers stale generated dependency roots, old install-stage directories, package-local debris from earlier bundled-plugin dependency repair code, and orphaned managed npm copies of bundled `@openclaw/*` plugins that can shadow the current bundled manifest. Doctor can also reinstall configured downloadable plugins when the config references them but the local plugin registry cannot find them. For the 2026.5.2 bundled-plugin externalization, doctor automatically installs downloadable plugins that the existing config already uses and then relies on `meta.lastTouchedVersion` to run that release pass only once. Gateway startup and config reload do not run package managers; plugin installs remain explicit doctor/install/update work.