Skip to content

[Bug]: doctor falsely reports no active memory plugin while mem0 is loaded and working #59894

@QuarkAssistant

Description

@QuarkAssistant

Summary

On OpenClaw 2026.3.31, 2026.4.1, and 2026.4.2, openclaw doctor --fix reports:

No active memory plugin is registered for the current config.

…but openclaw-mem0 is loaded and working normally.

In this setup:

  • plugins.allow includes openclaw-mem0
  • plugins.slots.memory is set to openclaw-mem0
  • plugins.entries.openclaw-mem0.enabled = true
  • openclaw mem0 stats succeeds and returns live data
  • runtime logs show: openclaw-mem0: registered (mode: platform, user: quark, graph: false, autoRecall: false, autoCapture: true)

So doctor is producing a false-negative memory diagnostic while the plugin is healthy.

Environment

  • OpenClaw: reproduced on 2026.3.31, 2026.4.1, 2026.4.2
  • Host: macOS (Apple Silicon)
  • Memory plugin: openclaw-mem0
  • Memory mode: platform
  • User: quark

Relevant config shape

{
  "plugins": {
    "allow": ["telegram", "minimax", "openclaw-mem0", "google", "acpx", "browser"],
    "slots": {
      "memory": "openclaw-mem0"
    },
    "entries": {
      "openclaw-mem0": {
        "enabled": true,
        "config": {
          "apiKey": "<present>",
          "userId": "quark",
          "autoRecall": false,
          "autoCapture": true
        }
      }
    }
  }
}

Steps to Reproduce

  1. Configure openclaw-mem0 as the active memory plugin via plugins.slots.memory.
  2. Confirm the plugin is loaded at runtime.
  3. Run:
openclaw doctor --fix
  1. Observe the memory section warning:
No active memory plugin is registered for the current config.
  1. Immediately run:
openclaw mem0 stats

Actual Behavior

doctor says no active memory plugin is registered.

At the same time, openclaw mem0 stats returns valid plugin stats, for example:

Mode: platform
User: quark
Total memories: 6
Graph enabled: false
Auto-recall: false, Auto-capture: true

Expected Behavior

If openclaw-mem0 is loaded, configured in plugins.slots.memory, and answering successfully via openclaw mem0 stats, doctor should not claim that no active memory plugin is registered.

At minimum, the diagnostic should distinguish between:

  • no memory plugin configured
  • memory plugin configured but unhealthy
  • memory plugin configured and working

Impact

This is misleading enough to trigger unnecessary incident response after upgrades. In our case, memory was verified working end-to-end (including storing + searching a new memory), but doctor still implied the memory lane was broken.

That makes health reporting harder to trust, especially during upgrade validation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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