Summary
When upgrading OpenClaw core via npm install -g, the external plugins in ~/.openclaw/npm/ are not upgraded in tandem. This creates a version mismatch between core and plugins that causes hard failures at runtime (e.g. No API provider registered for api: bedrock-converse-stream). Additionally, the official openclaw plugins update --all command fails to detect the drift due to conflicting SQLite metadata.
This is a data point reinforcing #83337 and #88707, but with additional evidence that the built-in recovery path (plugins update) is also broken.
Environment
- OpenClaw core: 2026.6.8 (upgraded from 2026.5.27 via
npm install -g)
- Plugins at time of failure:
@openclaw/[email protected], @openclaw/[email protected], @openclaw/[email protected]
- OS: macOS (arm64, Darwin 25.2.0)
- Node.js: v24.13.0
- Install method: npm global
Reproduction
- Have a working OpenClaw setup with external plugins installed in
~/.openclaw/npm/
- Upgrade core:
npm install -g @openclaw/openclaw@latest
- Restart the gateway (via launchctl or any external method)
- Send a message → "LLM request failed"
Error Evidence
From /tmp/openclaw/openclaw-2026-06-18.log:
{
"isError": true,
"error": "LLM request failed.",
"rawErrorPreview": "No API provider registered for api: bedrock-converse-stream",
"model": "global.anthropic.claude-opus-4-6-v1",
"provider": "amazon-bedrock"
}
Root Cause
Core 2026.6.8 expects the bedrock provider plugin to call registerApiProvider with the new plugin SDK. The old plugin (2026.5.27) doesn't have this registration code → API never gets registered → all LLM calls fail.
plugins update Also Broken
Running openclaw plugins update --all reports "already up to date" even though plugins are 2026.5.27 while core is 2026.6.8:
$ openclaw plugins update --all --dry-run
# Reports plugins as "already up to date" at 2026.5.27
# Doctor warning: "conflicting package metadata entries"
The SQLite install index has stale metadata that prevents the update command from recognizing the drift.
Workaround
Manual npm upgrade in the plugins directory:
cd ~/.openclaw/npm
npm install @openclaw/amazon-bedrock-provider@latest \
@openclaw/feishu@latest \
@openclaw/slack@latest
# Then restart gateway
Impact
This is a hard upgrade blocker for any user with external plugins. The failure mode is especially bad because:
npm install -g reports success → user thinks upgrade is done
- Gateway starts without error in the log → appears healthy
- First message fails with cryptic "LLM request failed" → user thinks the upgrade broke something
- Built-in recovery (
plugins update) doesn't work → user is stuck without manual npm knowledge
Expected Behavior
At minimum one of these should work:
- Option A:
npm install -g also upgrades ~/.openclaw/npm/ plugins (or prompts to do so)
- Option B: Gateway startup detects core/plugin version mismatch and refuses to start with a clear error message explaining how to fix
- Option C:
openclaw plugins update --all correctly detects and resolves the drift
Related Issues
Summary
When upgrading OpenClaw core via
npm install -g, the external plugins in~/.openclaw/npm/are not upgraded in tandem. This creates a version mismatch between core and plugins that causes hard failures at runtime (e.g.No API provider registered for api: bedrock-converse-stream). Additionally, the officialopenclaw plugins update --allcommand fails to detect the drift due to conflicting SQLite metadata.This is a data point reinforcing #83337 and #88707, but with additional evidence that the built-in recovery path (
plugins update) is also broken.Environment
npm install -g)@openclaw/[email protected],@openclaw/[email protected],@openclaw/[email protected]Reproduction
~/.openclaw/npm/npm install -g @openclaw/openclaw@latestError Evidence
From
/tmp/openclaw/openclaw-2026-06-18.log:{ "isError": true, "error": "LLM request failed.", "rawErrorPreview": "No API provider registered for api: bedrock-converse-stream", "model": "global.anthropic.claude-opus-4-6-v1", "provider": "amazon-bedrock" }Root Cause
Core 2026.6.8 expects the bedrock provider plugin to call
registerApiProviderwith the new plugin SDK. The old plugin (2026.5.27) doesn't have this registration code → API never gets registered → all LLM calls fail.plugins updateAlso BrokenRunning
openclaw plugins update --allreports "already up to date" even though plugins are 2026.5.27 while core is 2026.6.8:The SQLite install index has stale metadata that prevents the update command from recognizing the drift.
Workaround
Manual npm upgrade in the plugins directory:
Impact
This is a hard upgrade blocker for any user with external plugins. The failure mode is especially bad because:
npm install -greports success → user thinks upgrade is doneplugins update) doesn't work → user is stuck without manual npm knowledgeExpected Behavior
At minimum one of these should work:
npm install -galso upgrades~/.openclaw/npm/plugins (or prompts to do so)openclaw plugins update --allcorrectly detects and resolves the driftRelated Issues
plugins update --allleaves plugins pinned after stable upgrade