Issue: Plugin not recognized as memory plugin in OpenClaw 2026.4.x
Problem
The memos-cloud-openclaw-plugin is not recognized as a valid memory plugin when configured in plugins.slots.memory. OpenClaw doctor reports:
WARN: memory slot plugin not found or not marked as memory: memos-cloud-openclaw-plugin
No active memory plugin is registered for the current config.
Root Cause
The plugin is designed as a hook-only plugin using legacy hooks (before_agent_start, agent_end). While it correctly declares kind: "lifecycle" in the manifest, OpenClaw 2026.4.x requires memory slot plugins to:
- Declare
kind: "memory" in openclaw.plugin.json
- Register via capability API: call
api.registerContextEngine() in the plugin code
Currently the plugin only modifies the manifest kind but does not register the memory capability through the runtime API.
Current Workaround
Users can remove plugins.slots.memory configuration and let the plugin work as a hook-only plugin. The recall/add memory functionality still works through hooks, but it won't be recognized as an "official memory plugin" by openclaw doctor.
// Remove this from openclaw.json
"plugins": {
"slots": {
"memory": "memos-cloud-openclaw-plugin"
}
}
Suggested Fix
Update the plugin to properly register as a memory capability:
- Change
kind to "memory" in both openclaw.plugin.json and index.js export
- Add
api.registerContextEngine() call in the register(api) function
Example (based on OpenClaw plugin architecture docs):
api.registerContextEngine("memos-cloud", () => ({
info: {
id: "memos-cloud",
name: "MemOS Cloud Memory",
ownsCompaction: false,
},
async ingest() {
// optional: index memory files
return { ingested: true };
},
async assemble({ messages }) {
// inject recalled memories into prompt
return { messages, estimatedTokens: 0 };
},
async compact(params) {
// delegate to runtime if not owning compaction
return await delegateCompactionToRuntime(params);
},
}));
Environment
- OpenClaw version: 2026.4.5
- Plugin version: 0.1.12
- Node: v22.22.2
- OS: Linux
References
Issue: Plugin not recognized as memory plugin in OpenClaw 2026.4.x
Problem
The
memos-cloud-openclaw-pluginis not recognized as a valid memory plugin when configured inplugins.slots.memory. OpenClaw doctor reports:Root Cause
The plugin is designed as a hook-only plugin using legacy hooks (
before_agent_start,agent_end). While it correctly declareskind: "lifecycle"in the manifest, OpenClaw 2026.4.x requires memory slot plugins to:kind: "memory"inopenclaw.plugin.jsonapi.registerContextEngine()in the plugin codeCurrently the plugin only modifies the manifest
kindbut does not register the memory capability through the runtime API.Current Workaround
Users can remove
plugins.slots.memoryconfiguration and let the plugin work as a hook-only plugin. The recall/add memory functionality still works through hooks, but it won't be recognized as an "official memory plugin" byopenclaw doctor.Suggested Fix
Update the plugin to properly register as a memory capability:
kindto"memory"in bothopenclaw.plugin.jsonandindex.jsexportapi.registerContextEngine()call in theregister(api)functionExample (based on OpenClaw plugin architecture docs):
Environment
References