How to fix “memory search is paused” in OpenClaw
Vector search pauses when the index no longer matches your settings, or when embeddings quietly fail on subscription-only sign-ins. Both causes, both fixes.
“Memory search is paused” means OpenClaw’s vector index can’t serve results: either the index no longer matches your embedding settings (rebuild it with openclaw memory index --force) or the embedding provider itself is failing. The sneaky cause: embeddings default to the OpenAI API, which a ChatGPT-subscription sign-in does not cover, so subscription-auth agents quietly lose semantic memory. Fix it by setting memory.search.provider to a provider you actually have, or switch to local embeddings.
What’s actually happening
OpenClaw’s memory system keeps your agent’s knowledge in plain files, plus a SQLite vector index that powers semantic search over them. Building that index requires an embedding model, separate from the chat model your agent thinks with. When the index and settings drift apart, or embeddings can’t be produced, OpenClaw deliberately pauses vector search rather than silently serving wrong results. Your agent keeps working and chatting; it just loses the ability to find things it knows, which many people don’t notice for days.
Cause 1: the index no longer matches your settings
Changing the embedding provider, model or scope can leave an index built under the old settings. Read the pause reason before rebuilding: an unavailable provider needs fixing first. For a stale index with a working provider:
openclaw memory status --index --agent <id>
openclaw memory index --force --agent <id>CopiedThe first shows why search is paused; the second rebuilds the index under the current settings.
An OpenClaw chunking-implementation change is a distinct case: the current memory documentation says ordinary memory search can rebuild that index automatically, while status checks remain read-only. This pause can appear after an update from 2026.9.1 to 2026.9.4, and an explicit rebuild before searching clears it; that does not show the automatic rebuild failing. See the update recovery guide.
Cause 2: the subscription-auth trap (the one nobody documents)
When no provider is configured, OpenClaw uses OpenAI embeddings by default, via the OpenAI Platform API. Here’s the trap: signing in with your ChatGPT subscription covers the agent’s chat calls but not API subsystems like embeddings. The result: every embedding call fails with a 429 insufficient_quota error from an API account you never funded, and memory search pauses, on an agent whose chat works perfectly. Nothing in the sign-in flow warns you (upstream issue #13027 asks for exactly that warning).
The fix: pick an embedding provider you actually have
- Local embeddings:Installing the plugin is only the first step. Complete the provider’s guided local setup on the Gateway host, select it for memory search and verify embedding readiness before rebuilding. If the settings name a server executable that is missing, follow the managed local embeddings repair. A working local provider computes embeddings on that machine without a per-call API charge.
Copiedopenclaw plugins install @openclaw/llama-cpp-provider - Or a funded API key: if you have an OpenAI (or other supported) API account with credit, configure that key for embeddings and keep the default provider.
Two cautions. First, config keys here have moved between releases: current docs use the memory.search.provider path (with per-agent overrides), while older pinned installs used different key shapes, and a pinned gateway hard-rejects config keys it doesn’t know at boot. Validate with openclaw doctor before restarting the gateway, and keep a backup of the config you’re changing. Second, after any provider change, verify like an operator: rebuild, then ask the agent a question it can only answer by searching memory. When the config key is wrong, explicit remote providers at least fail loudly. It’s the unfunded default that fails quietly.