openclaw - ✅(Solved) Fix Bug: config.patch schema rejects valid active-memory config fields [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#64877Fetched 2026-04-12 13:26:26
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Timeline (top)
closed ×1cross-referenced ×1

Root Cause

Root cause: JSON schema out of sync with normalizePluginConfig() in plugin source.

Fix Action

Fix / Workaround

Description: config.patch validates active-memory config against a schema that does not match the actual plugin code. The validator rejects agents as object and logging as object, while the plugin normalizePluginConfig() explicitly expects string[] arrays and booleans.

Reproduction:

openclaw config patch plugins.entries.active-memory.config --raw ...
→ invalid config: logging: Invalid input: expected object, received boolean

Workaround: Direct file edit to ~/.openclaw/openclaw.json.

PR fix notes

PR #65048: Fix active-memory config schema fallback mismatch

Description (problem / solution / changelog)

Summary

  • add active-memory manifest support for the explicit model fallback field used by the runtime
  • cover the fallback behavior in active-memory plugin tests
  • add a manifest schema regression test for config.patch and CLI-driven config edits

Testing

  • pnpm vitest run extensions/active-memory/index.test.ts extensions/active-memory/config.test.ts

Fixes #64877

Changed files

  • extensions/active-memory/config.test.ts (added, +24/-0)
  • extensions/active-memory/index.test.ts (modified, +107/-3)
  • extensions/active-memory/index.ts (modified, +128/-23)
  • extensions/active-memory/openclaw.plugin.json (modified, +6/-1)
  • src/agents/pi-embedded-runner/run.ts (modified, +5/-0)
  • src/agents/pi-embedded-runner/run/assistant-failover.ts (modified, +3/-1)
  • src/agents/pi-embedded-runner/run/attempt.ts (modified, +3/-0)
  • src/agents/pi-embedded-runner/run/failover-policy.test.ts (modified, +41/-0)
  • src/agents/pi-embedded-runner/run/failover-policy.ts (modified, +14/-0)
  • src/agents/pi-embedded-runner/run/types.ts (modified, +2/-0)

Code Example

openclaw config patch plugins.entries.active-memory.config --raw ...
→ invalid config: logging: Invalid input: expected object, received boolean
RAW_BUFFERClick to expand / collapse

**Severity: High — makes active-memory plugin unconfigurable via CLI

OpenClaw version: 2026.4.10

Description: config.patch validates active-memory config against a schema that does not match the actual plugin code. The validator rejects agents as object and logging as object, while the plugin normalizePluginConfig() explicitly expects string[] arrays and booleans.

Exact schema mismatch: | Field | Schema expects | Plugin code expects | | agents | object | string[] (array) | | allowedChatTypes | object | string[] (array) | | logging | object | boolean |

Reproduction:

openclaw config patch plugins.entries.active-memory.config --raw ...
→ invalid config: logging: Invalid input: expected object, received boolean

Root cause: JSON schema out of sync with normalizePluginConfig() in plugin source.

Workaround: Direct file edit to ~/.openclaw/openclaw.json.

Fix: Update the JSON schema for plugins.entries.active-memory to match the actual normalizePluginConfig().

extent analysis

TL;DR

Update the JSON schema for plugins.entries.active-memory to match the actual normalizePluginConfig() expectations.

Guidance

  • Identify the mismatched fields (agents, allowedChatTypes, logging) and update the JSON schema to expect string[], string[], and boolean respectively.
  • Verify the updated schema by re-running the openclaw config patch command with the corrected configuration.
  • Consider updating the normalizePluginConfig() function to handle the existing schema expectations if a schema update is not feasible.
  • Test the configuration with the updated schema to ensure it is valid and functional.

Example

{
  "plugins": {
    "entries": {
      "active-memory": {
        "config": {
          "type": "object",
          "properties": {
            "agents": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedChatTypes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "logging": {
              "type": "boolean"
            }
          }
        }
      }
    }
  }
}

Notes

This fix assumes that the normalizePluginConfig() function is correctly implemented and the issue lies solely with the JSON schema. If the function is also incorrect, additional updates may be necessary.

Recommendation

Apply workaround: Direct file edit to ~/.openclaw/openclaw.json to update the schema until a official fix is released, as this allows for immediate configuration of the active-memory plugin via CLI.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix Bug: config.patch schema rejects valid active-memory config fields [1 pull requests, 1 participants]