Summary
After installing/updating LCO, OpenClaw still logs duplicate lossless-openclaw-orchestrator plugin id warnings. The warning shows an explicit config-selected plugin overriding another config/global plugin source, which means the install can leave multiple LCO plugin copies discoverable and the active winner is not obvious from the operator surface.
Environment
- OpenClaw:
2026.7.1-beta.5 (b6387af)
- LCO release line:
v1.5.0
- Plugin id:
lossless-openclaw-orchestrator
- Observed: July 11, 2026 gateway startup/config warnings
What I observed
- The generated npm project dependency list includes
lossless-openclaw-orchestrator: 1.5.0.
- Gateway startup repeatedly logged warnings in this shape:
plugins.entries.lossless-openclaw-orchestrator:
plugin lossless-openclaw-orchestrator:
duplicate plugin id resolved by explicit config-selected plugin;
config plugin will be overridden by config plugin (<repo-checkout>/dist/packages/openclaw-plugin/src/index.js)
- Earlier startup warnings also showed a global plugin copy being overridden by a config-selected plugin.
- Later warnings still showed another config-plugin source being overridden by the selected LCO checkout/build.
Local absolute paths intentionally redacted here; the important bit is that multiple plugin sources with the same id remained discoverable after the update.
Expected behavior
The LCO install/update/doctor path should make duplicate plugin identity deterministic and easy to clean up:
- Report every discovered
lossless-openclaw-orchestrator source path and version.
- Mark exactly which source OpenClaw will load.
- Explain why the losing source is still discoverable.
- Provide a safe cleanup command or checklist for removing stale generated/worktree/global copies.
- Ideally, postinstall should avoid leaving duplicate plugin entries/load paths active in the first place.
Why this matters
When LCO behavior is being validated, duplicate plugin-id warnings make it unclear which build is actually running. That undermines release proof: the package can say 1.5.0, but the gateway may be selecting a local checkout or shadow copy.
Suggested acceptance tests
- Fixture an OpenClaw profile with two LCO plugin sources using the same id.
- Verify LCO doctor reports both sources, active winner, and cleanup action.
- Verify cleanup removes or disables the losing source without touching unrelated plugins.
- Verify a clean install emits no duplicate plugin-id warnings.
Summary
After installing/updating LCO, OpenClaw still logs duplicate
lossless-openclaw-orchestratorplugin id warnings. The warning shows an explicit config-selected plugin overriding another config/global plugin source, which means the install can leave multiple LCO plugin copies discoverable and the active winner is not obvious from the operator surface.Environment
2026.7.1-beta.5 (b6387af)v1.5.0lossless-openclaw-orchestratorWhat I observed
lossless-openclaw-orchestrator: 1.5.0.Local absolute paths intentionally redacted here; the important bit is that multiple plugin sources with the same id remained discoverable after the update.
Expected behavior
The LCO install/update/doctor path should make duplicate plugin identity deterministic and easy to clean up:
lossless-openclaw-orchestratorsource path and version.Why this matters
When LCO behavior is being validated, duplicate plugin-id warnings make it unclear which build is actually running. That undermines release proof: the package can say
1.5.0, but the gateway may be selecting a local checkout or shadow copy.Suggested acceptance tests