Skip to content

Gateway per-agent plugin loading fails schema validation despite valid config (beta.9 + OpenClaw 2026.4.8) #567

@Jimcatsos

Description

@Jimcatsos

Bug Description

memory-lancedb-pro@1.1.0-beta.9 fails to load in the OpenClaw gateway (2026.4.8) with error:

[plugins] memory-lancedb-pro invalid config: embedding: must have required property 'embedding'

The error fires repeatedly (every ~2 seconds, once per agent initialization) in the gateway process, preventing the plugin from registering as the active memory runtime.

Config (redacted keys)

{
  "plugins": {
    "slots": { "memory": "memory-lancedb-pro" },
    "entries": {
      "memory-lancedb-pro": {
        "enabled": true,
        "config": {
          "embedding": {
            "provider": "openai-compatible",
            "apiKey": "sk-proj-...",
            "model": "text-embedding-3-small",
            "baseURL": "https://api.openai.com/v1",
            "dimensions": 1536,
            "chunking": true
          },
          "dbPath": "/root/.openclaw/memory/lancedb-pro",
          "autoCapture": true,
          "autoRecall": true,
          "smartExtraction": true,
          "sessionStrategy": "memoryReflection",
          "enableManagementTools": true
        }
      }
    }
  }
}

Verification

  • Direct AJV validation of the config against openclaw.plugin.json configSchema passes (tested with new Ajv().compile(schema)(config)true)
  • The CLI's embedded plugin loader successfully registers the plugin (logs show memory-lancedb-pro@1.1.0-beta.9: plugin registered)
  • The gateway's per-agent plugin loader fails on schema validation and hits a continue that skips registration
  • openclaw doctor reports: "No active memory plugin is registered for the current config"

Suspected Root Cause

The gateway's plugin loader at loader-CVkGO8jl.js validates entry?.config against the plugin's configSchema. In the gateway's per-agent loading path, it appears the config is not being resolved/passed to the validation step, so AJV sees undefined instead of the actual config object.

Environment

  • OpenClaw: 2026.4.8
  • memory-lancedb-pro: 1.1.0-beta.9
  • Node: 22.22.2
  • OS: Ubuntu Linux (DigitalOcean VPS)

Note

Attempted to install stable 1.0.32 via openclaw plugins install but it was blocked by OpenClaw's security scanner (child_process detection in examples/new-session-distill/worker/lesson-extract-worker.mjs).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions