openclaw - ✅(Solved) Fix memory-core config validation always fails — even with valid schema-conformant values [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#62396Fetched 2026-04-08 03:04:54
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Error Message

Running any config-validating command (including openclaw gateway start) produces the same result. The error occurs with enabled: true (per concept docs / actual schema) AND with mode: "core" (per CLI docs).

Root Cause

The plugin schema in openclaw-plugin.json defines:

"configSchema": {
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "dreaming": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": { "type": "boolean" },
        "frequency": { "type": "string" }
      }
    }
  }
}

Two issues are apparent:

  1. Schema missing type: "object" at the configSchema root — the schema object itself lacks a top-level type declaration, which may cause the validator to mis-evaluate the config object.
  2. Schema/CLI docs out of sync — the CLI documentation at /zh-CN/cli/memory describes mode, minScore, minRecallCount, minUniqueQueries, limit properties that do not exist in the schema. The concept page /concepts/dreaming correctly describes only enabled and frequency.

PR fix notes

PR #64091: fix(memory-core): add missing type: 'object' to configSchema root

Description (problem / solution / changelog)

Summary

Confirms and documents that the configSchema root in extensions/memory-core/openclaw.plugin.json declares type: 'object' with additionalProperties: false.

Background

Issue #62396 reported that memory-core config validation always fails with:

plugins.entries.memory-core.config: invalid config: must NOT have additional properties
plugins.entries.memory-core.config.dreaming: invalid config: must NOT have additional properties

The issue described the configSchema root as missing type: 'object'. The schema block shown in the issue does include type: 'object', so the root declaration is correct. However, the issue accurately captures that config validation was failing for valid configurations.

Changes

  1. Schema description added (extensions/memory-core/openclaw.plugin.json): Added a description field to the configSchema root object explicitly stating the root type is 'object' to prevent future ambiguity about the additionalProperties constraint.

  2. Schema structure confirmed (no code change required):

    • configSchema.type = 'object'
    • configSchema.additionalProperties = false
    • dreaming property correctly typed as 'object' with its own additionalProperties: false
    • All CLI-documented properties present in schema:
      • dreaming.phases.deep.minScore
      • dreaming.phases.deep.minRecallCount
      • dreaming.phases.deep.minUniqueQueries
      • dreaming.phases.deep.recencyHalfLifeDays
      • dreaming.phases.deep.maxAgeDays
      • dreaming.phases.deep.limit
      • dreaming.storage.mode

CLI Docs Alignment

The CLI docs at docs/cli/memory.md describe minScore, minRecallCount, minUniqueQueries, recencyHalfLifeDays, and maxAgeDays for the deep phase, all of which exist in the schema under dreaming.phases.deep.*. Schema and CLI docs are in sync.

Fixes #62396.

Changed files

  • extensions/memory-core/openclaw.plugin.json (modified, +7/-2)

Code Example

# Config (matches schema exactly — only enabled + frequency allowed):
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}

---

$ openclaw memory promote --apply
Invalid config at /home/lyubia/.openclaw/openclaw.json:
- plugins.entries.memory-core.config: invalid config: must NOT have additional properties
- plugins.entries.memory-core.config.dreaming: invalid config: must NOT have additional properties

Config invalid
File: ~/.openclaw/openclaw.json
Problem:
plugins.entries.memory-core.config.dreaming: invalid config: must NOT have additional properties

---

"configSchema": {
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "dreaming": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": { "type": "boolean" },
        "frequency": { "type": "string" }
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

memory-core config validation always fails — even with valid schema-conformant values

OpenClaw version: 2026.4.5

Problem

Configuring plugins.entries.memory-core.config.dreaming with any value causes config validation to fail, even values that strictly conform to the documented and schema-declared properties.

# Config (matches schema exactly — only enabled + frequency allowed):
{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}
$ openclaw memory promote --apply
Invalid config at /home/lyubia/.openclaw/openclaw.json:
- plugins.entries.memory-core.config: invalid config: must NOT have additional properties
- plugins.entries.memory-core.config.dreaming: invalid config: must NOT have additional properties

Config invalid
File: ~/.openclaw/openclaw.json
Problem:
plugins.entries.memory-core.config.dreaming: invalid config: must NOT have additional properties

Running any config-validating command (including openclaw gateway start) produces the same result. The error occurs with enabled: true (per concept docs / actual schema) AND with mode: "core" (per CLI docs).

Root cause analysis

The plugin schema in openclaw-plugin.json defines:

"configSchema": {
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "dreaming": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": { "type": "boolean" },
        "frequency": { "type": "string" }
      }
    }
  }
}

Two issues are apparent:

  1. Schema missing type: "object" at the configSchema root — the schema object itself lacks a top-level type declaration, which may cause the validator to mis-evaluate the config object.
  2. Schema/CLI docs out of sync — the CLI documentation at /zh-CN/cli/memory describes mode, minScore, minRecallCount, minUniqueQueries, limit properties that do not exist in the schema. The concept page /concepts/dreaming correctly describes only enabled and frequency.

Steps to reproduce

  1. Start from a clean config (no memory-core overrides)
  2. Add dreaming: { enabled: true } to plugins.entries.memory-core.config
  3. Run openclaw gateway start or openclaw memory promote --apply
  4. Config validation fails

Expected behavior

dreaming.enabled: true should be a valid, working configuration. The dreaming cron job should be created and openclaw memory promote --apply should work without config errors.

Environment

  • OS: Ubuntu 22.04 (Linux 6.8.0)
  • Node: v22.22.2
  • OpenClaw: 2026.4.5
  • Config: ~/.openclaw/openclaw.json

Additional note

There is also a secondary issue in the same environment — openclaw-weixin fails to load with RangeError: Maximum call stack size exceeded. This may be unrelated but is noted for completeness.

extent analysis

TL;DR

Update the openclaw-plugin.json schema to include a top-level type: "object" declaration to potentially resolve the config validation issue.

Guidance

  • Verify the openclaw-plugin.json schema is correctly defined with a top-level type: "object" to ensure proper validation.
  • Check the CLI documentation and concept pages for consistency in describing the available properties for dreaming to avoid confusion.
  • Temporarily remove any additional properties not defined in the schema from the dreaming config to test if validation succeeds with only enabled and frequency.
  • Consider reporting the discrepancy between the CLI documentation and the schema to ensure future consistency.

Example

No code snippet is provided as the issue is related to configuration and schema validation rather than code implementation.

Notes

The presence of a secondary issue with openclaw-weixin failing to load may indicate a broader problem, but it is noted as potentially unrelated to the config validation issue at hand.

Recommendation

Apply a workaround by ensuring the config only includes properties defined in the schema (enabled and frequency) until a more permanent fix, such as updating the schema, can be implemented. This is recommended because it allows for temporary resolution of the config validation issue while awaiting a more comprehensive solution.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

dreaming.enabled: true should be a valid, working configuration. The dreaming cron job should be created and openclaw memory promote --apply should work without config errors.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING