Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
openclaw plugins update never upgrades ClawHub-sourced plugins to a newer version because the install flow always writes the resolved version into the spec field (e.g. clawhub:@pkg@0.0.2), causing update to re-resolve the same pinned version instead of fetching the latest from ClawHub.
Steps to reproduce
- Publish 0.0.2 versions of a plugin to ClawHub
- Install the older version:
openclaw plugins install plugin
- Confirm spec is pinned in ~/.openclaw/openclaw.json:
"spec": "plugin@0.0.2"
3.1. Publish 0.0.3 versions of a plugin to ClawHub
- Run: openclaw plugins update plugin
- Observe it resolves to 0.0.2 and reports "already at 0.0.2".
Expected behavior
When no version is specified during install, the spec should be saved without a version , consistent with how npm installs work . This way, plugins update can resolve to the latest ClawHub version. The official docs state: "previously stored dist-tags such as @beta and exact pinned versions continue to be used" — implying that unpinned installs should resolve to latest on update.
Actual behavior
The clawhub install handler always writes the resolved version into the spec field, regardless of whether the user specified a version. As a result, plugins update always re-resolves the same pinned version and never upgrades.
OpenClaw version
2026.3.31
Operating system
macOS 15.1.1
Install method
npm global
Model
N/A — this is a CLI plugin management bug, not model-related.
Provider / routing chain
N/A
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
No response
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
openclaw plugins update never upgrades ClawHub-sourced plugins to a newer version because the install flow always writes the resolved version into the spec field (e.g. clawhub:@pkg@0.0.2), causing update to re-resolve the same pinned version instead of fetching the latest from ClawHub.
Steps to reproduce
openclaw plugins install plugin
"spec": "plugin@0.0.2"
3.1. Publish 0.0.3 versions of a plugin to ClawHub
Expected behavior
When no version is specified during install, the spec should be saved without a version , consistent with how npm installs work . This way, plugins update can resolve to the latest ClawHub version. The official docs state: "previously stored dist-tags such as @beta and exact pinned versions continue to be used" — implying that unpinned installs should resolve to latest on update.
Actual behavior
The clawhub install handler always writes the resolved version into the spec field, regardless of whether the user specified a version. As a result, plugins update always re-resolves the same pinned version and never upgrades.
OpenClaw version
2026.3.31
Operating system
macOS 15.1.1
Install method
npm global
Model
N/A — this is a CLI plugin management bug, not model-related.
Provider / routing chain
N/A
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
No response