Skip to content

doctor: false positive 'no local model file found' for memory search #28944

Description

@stevecoffee

Description

openclaw doctor reports a false positive for the memory search check when using the local provider with node-llama-cpp.

Steps to reproduce

  1. Set up local memory search with node-llama-cpp (provider: local)
  2. Download a GGUF embedding model (e.g., embeddinggemma-300m-qat-Q8_0.gguf)
  3. Verify it works: openclaw memory status --deep shows "Embeddings: ready"
  4. Run openclaw doctor --non-interactive

Expected

Doctor should detect the working local model and report memory search as healthy.

Actual

Doctor reports:

Memory search provider is set to "local" but no local model file was found.

Fix (pick one):
- Install node-llama-cpp and set a local model path in config
- Switch to a remote provider: openclaw config set agents.defaults.memorySearch.provider openai

Meanwhile openclaw memory status --deep confirms everything is working:

Provider: local (requested: local)
Model: hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf
Embeddings: ready
Indexed: 197/257 files · 2595 chunks
Embedding cache: enabled (7641 entries)

Root cause (likely)

Doctor appears to look for a model path in openclaw.json config rather than checking where node-llama-cpp actually stores downloaded models (~/.node-llama-cpp/models/). The config only has "provider": "local" without an explicit model path, but node-llama-cpp resolves the model from its own cache at runtime.

Environment

  • OpenClaw: v2026.2.25
  • Platform: Linux x86_64 (Ubuntu 24.04)
  • node-llama-cpp models dir: ~/.node-llama-cpp/models/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions