#Memory errors

1 messages · Page 1 of 1 (latest)

trail vessel
#

Memory Search (main)
Provider: none (requested: auto)
Model: none
Sources: memory
Indexed: 0/5 files · 0 chunks
Dirty: yes
Store: ~/.openclaw/memory/main.sqlite
Workspace: ~/.openclaw/workspace
Embeddings: unavailable
Embeddings error: No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.4 (OAuth) or set OPENAI_API_KEY to use openai/gpt-5.4.

No API key found for provider "google". Auth store: /home/miv/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/miv/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.

No API key found for provider "voyage". Auth store: /home/miv/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/miv/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.

No API key found for provider "mistral". Auth store: /home/miv/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/miv/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
By source:
memory · 0/5 files · 0 chunks
Vector: unknown
FTS: ready
Embedding cache: enabled (0 entries)
Batch: disabled (failures 0/2)

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai-codex/gpt-5.4
Fallbacks (4) : litellm/local-general, litellm/local-strong, litellm/local-coder, litellm/local-coder-strong
Image model : -
Image fallbacks (0): -
Aliases (4) : Local General -> litellm/local-general, Local Strong -> litellm/local-strong, Local Coder -> litellm/local-coder, Local Coder Strong -> litellm/local-coder-strong
Configured models (5): litellm/local-general, litellm/local-strong, litellm/local-coder, litellm/local-coder-strong, openai-codex/gpt-5.4

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): openai-codex (1)

  • litellm effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | litellm:default=84d4e233...a6bc3ca2
  • openai-codex effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | openai-codex:default=OAuth

OAuth/token status

  • openai-codex usage: 5h 100% left ⏱4h 59m · Week 83% left ⏱5d 2h
    • openai-codex:default ok expires in 10d

and I added into litellm:

  • model_name: embedding
    litellm_params:
    model: ollama/mxbai-embed-large
    api_base: http://ip:port
    api_key: dummy
flint spindleBOT
#

You’re very close — the key detail is:

memory_search does not use your chat model list / LiteLLM aliases automatically.
So model_name: embedding in LiteLLM won’t be picked up unless memory provider is explicitly configured.

Your status confirms that (Provider: none (requested: auto)).

What to set

Use agents.defaults.memorySearch (not top-level memorySearch), e.g. with your Ollama embedding endpoint:

{
agents: {
defaults: {
memorySearch: {
#
provider: "ollama",
model: "mxbai-embed-large",
remote: {
baseUrl: "http://ip:port",
apiKey: "dummy"
},
fallback: "none"
}
}
}
}

Then run:

#
openclaw gateway restart
openclaw memory status --deep
openclaw memory index --force

If you prefer routing through LiteLLM instead, set provider to openai + remote.baseUrl to your LiteLLM endpoint + model: "embedding".

Also please paste:

openclaw --version

just to confirm behavior matches current docs/build.

Docs:

trail vessel
#

OpenClaw 2026.3.13 (61d171a)

flint spindleBOT
#

Perfect, thanks — 2026.3.13 is recent enough. ✅

What’s happening is still the same: memory embeddings are on auto, and auto does not pick LiteLLM chat aliases for embeddings.

Run this exactly (replace URL):

openclaw config set agents.defaults.memorySearch.provider '"ollama"'
openclaw config set agents.defaults.memorySearch.model '"mxbai-embed-large"'
openclaw config set agents.defaults.memorySearch.remote.baseUrl '"http://ip:port"'
openclaw config set agents.defaults.memorySearch.remote.apiKey '"dummy"'
openclaw config set agents.defaults.memorySearch.fallback '"none"'

Then:

#
openclaw gateway restart
openclaw memory status --deep
openclaw memory index --force
openclaw memory status --deep

You should see Provider: ollama (not none), and chunk count should rise above 0/5.

If you want to route through LiteLLM instead, use provider: "openai" + model: "embedding" + remote.baseUrl pointing to LiteLLM’s /v1 endpoint.

If this works, please mark solution so it gets indexed (right-click → Apps → ✅ Mark Solution).

trail vessel
#

miv@agent-vm:~/.openclaw/workspace$ openclaw memory index --force

🦞 OpenClaw 2026.3.13 (61d171a) — Like having a senior engineer on call, except I don't bill hourly or sigh audibly.

│
09:30:47 [memory] embeddings rate limited; retrying in 593ms
09:30:47 [memory] embeddings rate limited; retrying in 541ms
09:30:47 [memory] embeddings rate limited; retrying in 559ms
09:30:47 [memory] embeddings rate limited; retrying in 502ms
09:30:48 [memory] embeddings rate limited; retrying in 1143ms
09:30:48 [memory] embeddings rate limited; retrying in 1130ms
09:30:48 [memory] embeddings rate limited; retrying in 1017ms
09:30:48 [memory] embeddings rate limited; retrying in 1165ms
09:30:49 [memory] embeddings rate limited; retrying in 2268ms
09:30:49 [memory] embeddings rate limited; retrying in 2143ms
09:30:49 [memory] embeddings rate limited; retrying in 2154ms
09:30:49 [memory] embeddings rate limited; retrying in 2290ms
â—‡
Memory index failed (main): Ollama embeddings HTTP 500: {"error":"the input length exceeds the context length"}

flint spindleBOT
#

Nice — this is progress. You’re past auth, now it’s a chunk-size vs embedding-context issue.

Ollama embeddings HTTP 500: input length exceeds context length means at least one chunk is too large for that embedding model.

Try this:

openclaw config set agents.defaults.memorySearch.chunking.tokens 128
openclaw config set agents.defaults.memorySearch.chunking.overlap 24
openclaw gateway restart
openclaw memory index --force --verbose

If it still fails, switch to Ollama’s default embedding model (often more forgiving):

#
openclaw config set agents.defaults.memorySearch.model '"nomic-embed-text"'
openclaw gateway restart
openclaw memory index --force --verbose

Then verify:

openclaw memory status --deep

You should see non-zero indexed chunks.

(That “rate limited; retrying” line is just retry/backoff logging for retryable embedding errors — the real root cause is the context-length 500.)

Docs: https://docs.openclaw.ai/reference/memory-config

trail vessel
#

Memory Search (main)
Provider: ollama (requested: ollama)
Model: mxbai-embed-large
Sources: memory
Indexed: 5/5 files · 68 chunks
Dirty: no
Store: ~/.openclaw/memory/main.sqlite
Workspace: ~/.openclaw/workspace
Embeddings: ready
By source:
memory · 5/5 files · 68 chunks
Vector: ready
Vector dims: 1024
Vector path: ~/.npm-global/lib/node_modules/openclaw/node_modules/sqlite-vec-linux-x64/vec0.so
FTS: ready
Embedding cache: enabled (68 entries)
Batch: disabled (failures 0/2)

trail vessel
#

Is this good?

Memory Search (main)
Provider: ollama (requested: ollama)
Model: mxbai-embed-large
Sources: memory
Indexed: 5/5 files · 68 chunks
Dirty: no
Store: ~/.openclaw/memory/main.sqlite
Workspace: ~/.openclaw/workspace
Embeddings: ready
By source:
memory · 5/5 files · 68 chunks
Vector: ready
Vector dims: 1024
Vector path: ~/.npm-global/lib/node_modules/openclaw/node_modules/sqlite-vec-linux-x64/vec0.so
FTS: ready
Embedding cache: enabled (68 entries)
Batch: disabled (failures 0/2)

flint spindleBOT
#

Yep — that looks healthy now. ✅

The key green flags are all there:

  • Provider: ollama (requested: ollama)
  • Embeddings: ready
  • Indexed: 5/5 files · 68 chunks
  • Dirty: no
  • Vector: ready

So memory indexing is working.

Quick sanity test (optional):

openclaw memory search "something you know is in MEMORY.md"