Skip to content

Doctor: false positive warning for local memory search when no explicit modelPath set #31998

@adhishthite

Description

@adhishthite

Bug

openclaw doctor warns about missing local model file even when local memory search is working correctly with the default auto-resolved model.

Steps to reproduce

  1. Configure memory search with provider: "local" and no explicit local.modelPath
  2. Run openclaw doctor
  3. Doctor warns: "Memory search provider is set to "local" but no local model file was found."
  4. But openclaw memory status --deep shows everything working:
    • Provider: local
    • Model: hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf
    • Embeddings: ready
    • 48/48 files indexed, 212 chunks

Root cause

In the doctor check, hasLocalEmbeddings(resolved.local) only inspects local.modelPath from config:

function hasLocalEmbeddings(local) {
  const modelPath = local.modelPath?.trim();
  if (!modelPath) return false;
  // ...
}

When local is {} (no explicit modelPath), it returns false immediately. But the runtime auto-resolves a default HuggingFace model (embeddinggemma-300m) and works fine.

Expected behavior

Doctor should either:

  • Check the runtime-resolved model (same logic the memory search system uses), or
  • Skip the warning when the default model would be auto-resolved

Workaround

Explicitly set the model path in config:

openclaw config set agents.defaults.memorySearch.local.modelPath "hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf"

Environment

  • OpenClaw 2026.3.1 (2a8ac97)
  • macOS (Apple Silicon)
  • node-llama-cpp with Metal GPU

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions