-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Bug]: Title: Local embedding provider breaks on upgrade (two consecutive releases) — no migration path, misleading error #92808
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Type
Fields
Priority
None yet
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
After upgrading OpenClaw, local memory search (provider: "local") breaks with an unhelpful error message. This has happened in two consecutive releases (2026.6.5 → 2026.6.6). The root causes differ, but the pattern is the same: memory_search returns nothing, openclaw memory status --deep fails, and the error message does not point to the actual fix.
2026.6.5 → 2026.6.6 upgrade
After updating from 2026.6.5 to 2026.6.6, memory search failed with:
Copy
openai-compatible embeddings: missing model. Set it to the embedding model id your server expects.
Despite provider being set to "local", the system fell back to an "openai-compatible" code path and errored out. This happened because:
1. The local embedding runtime was extracted into a plugin (@openclaw/llama-cpp-provider) in 2026.6.6, but the plugin was not auto-installed or flagged as a required migration step.
2. openclaw doctor suggested installing the plugin but did not offer a one-command fix or auto-install it.
3. After installing the plugin, there was a modelPath format mismatch: the old index was built with hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf, but the config had been set to the absolute filesystem path. The system rejected the existing index because the model identifier didn't match exactly.
4. The CLI memory index command does not load gateway plugins, so even after the plugin was installed and the gateway was using it for search, openclaw memory index --force still failed with the same "openai-compatible: missing model" error. Only gateway-routed memory_search calls work.
### 2026.5.x → 2026.6.5 upgrade
After a prior update, memory search also broke because the embedding index was wiped/invalidatedd while the embedding engine itself still worked. The @openclaw/llama-cpp-provider plugin referenced in docs did not yet exist on ClawHub, requiring a manual workaround to reindex.
### Suggested improvements
1. Auto-install or prompt for the llama-cpp plugin when provider: "local" is configured and the plugin is missing, rather than falling back to a misleading "openai-compatible" error.
2. Improve the error message: when provider is "local" but the plugin is missing, say something like "Local embedding provider plugin (@openclaw/llama-cpp-provider) not installed. Run: openclaw plugins install clawhub:@openclaw/llama-cpp-provider" instead of the generic openai-compatible message.
3. Preserve or migrate the modelPath format across upgrades, or accept both hf: URI and filesystem path formats when matching against an existing index.
4. Make the CLI memory index command use gateway plugins (or at minimum, document that it doesn't and provide an alternative reindex path through the gateway).
5. Consider a post-upgrade check that validates the embedding provider is functional before marking the update complete.
Environment
Steps to reproduce
See description
Expected behavior
See summary
Actual behavior
See summary
OpenClaw version
2026.6.5. & 2026.6.6
Operating system
Ubuntu 26.04 LTS
Install method
npm global
Model
various (chatgpt-5.5:codex / ollama-glm-5.1:cloud
Provider / routing chain
See summary
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
Affected memory
Additional information
No response