Skip to content

bug: QMD backend fails silently when qmd binary is not installed #25910

@Jherrild

Description

@Jherrild

Problem

When memory.backend is set to "qmd" but the qmd binary is not installed (or not on PATH), OpenClaw silently falls back to the builtin provider with only a log.warn message. There is no user-facing indication that their configured memory backend is not working.

This means users who configure QMD with custom paths (e.g., an Obsidian vault) may believe their vault is being indexed and searched, when in reality it's silently using the builtin provider which only indexes memory/*.md files.

Reproduction

  1. Set memory.backend: "qmd" with custom paths in openclaw.json
  2. Do not install qmd
  3. Start gateway — no error, no warning in chat
  4. Use memory search — returns results from builtin only, vault content is never indexed
  5. openclaw doctor does not flag this

Expected Behavior

  • openclaw doctor should check if qmd is on PATH when memory.backend: "qmd" is configured, and warn if missing
  • Gateway startup should surface a visible warning (not just a subsystem log) when QMD fallback activates
  • openclaw models status or a new openclaw memory status command should show the effective backend and whether it's in fallback mode

Environment

  • OpenClaw v2026.2.23 (also confirmed on v2026.2.24 fork build)
  • which qmd returns empty
  • Config: memory.backend: "qmd" with qmd.paths pointing at an Obsidian vault
  • Fallback activates silently on every gateway restart

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    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