Skip to content

Bug: memory_search/memory_get tools require OpenAI/Google API key even when memorySearch.provider=local (CLI index works) #8131

@fagnersouza666

Description

@fagnersouza666

Summary

When agents.defaults.memorySearch.provider is set to local (with a valid GGUF embedding model) and the memory index is successfully built via openclaw memory index, the chat tools memory_search and memory_get still fail with an auth error requiring remote API keys (OpenAI/Google).

This looks like the same class of issue as #3740 (local/self-hosted providers fail auth checks despite not requiring API keys), but for the memory tools path.

Environment

  • OpenClaw: 2026.2.1
  • OS: Linux x64
  • Gateway: local systemd service

Config

agents: {
  defaults: {
    memorySearch: {
      enabled: true,
      provider: "local",
      fallback: "none",
      local: {
        modelPath: "/home/robo/.openclaw/workspace/tools/models/embeddinggemma-300M-Q8_0.gguf"
      },
      sync: { onSessionStart: true, onSearch: true, watch: true },
      query: { hybrid: { enabled: true } }
    }
  }
}

What works (CLI)

  • openclaw memory index --verboseMemory index updated (main)
  • openclaw memory status shows:
    • Provider: local (requested: local)
    • Indexed: 5/5 files · 6 chunks
    • Vector: ready

What fails (tools)

Calling memory_search / memory_get tools fails with an auth error similar to:

No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth.
Use openai-codex/gpt-5.2 (ChatGPT OAuth) or set OPENAI_API_KEY for openai/gpt-5.2.

No API key found for provider "google". Auth store: .../auth-profiles.json ...

This happens even though memorySearch.provider=local and fallback=none.

Expected behavior

memory_search / memory_get should work with memorySearch.provider=local without requiring any remote API keys.

Actual behavior

The tools appear to go through an auth validation path that still requires OpenAI/Google API keys.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions