Summary
OpenClaw runtime memory checks can report no active memory runtime even when a plugin is installed and configured in plugins.slots.memory.
This affects plugin-backed memory providers such as OpenClawBrain. The configured memory slot should be loaded/consulted for runtime checks even when the full runtime plugin registry has not already been initialized.
Why this matters
A user can have config like:
{
"plugins": {
"slots": {
"memory": "openclawbrain"
},
"entries": {
"openclawbrain": {
"enabled": true
}
}
}
}
and still see runtime/status paths behave as if there is no memory provider. That makes it look like memory search or plugin memory is disabled even though the configured memory plugin is installed and loaded.
Expected behavior
When plugins.slots.memory names a plugin, memory runtime resolution should load or consult that configured plugin for memory runtime checks.
Actual behavior
Some runtime checks depend on the already-loaded runtime registry. If that registry is not populated for the configured memory slot at that point, the check returns no memory runtime.
Suggested fix shape
Resolve the configured memory slot from normalized plugin config and ensure that plugin is loaded for memory runtime resolution before returning no runtime.
There is a small repro/fix branch here if useful to maintainers: #76495
Local validation from the fix branch
pnpm test src/plugins/memory-runtime.test.ts
Result: 6 tests passed.
Summary
OpenClaw runtime memory checks can report no active memory runtime even when a plugin is installed and configured in
plugins.slots.memory.This affects plugin-backed memory providers such as OpenClawBrain. The configured memory slot should be loaded/consulted for runtime checks even when the full runtime plugin registry has not already been initialized.
Why this matters
A user can have config like:
{ "plugins": { "slots": { "memory": "openclawbrain" }, "entries": { "openclawbrain": { "enabled": true } } } }and still see runtime/status paths behave as if there is no memory provider. That makes it look like memory search or plugin memory is disabled even though the configured memory plugin is installed and loaded.
Expected behavior
When
plugins.slots.memorynames a plugin, memory runtime resolution should load or consult that configured plugin for memory runtime checks.Actual behavior
Some runtime checks depend on the already-loaded runtime registry. If that registry is not populated for the configured memory slot at that point, the check returns no memory runtime.
Suggested fix shape
Resolve the configured memory slot from normalized plugin config and ensure that plugin is loaded for memory runtime resolution before returning no runtime.
There is a small repro/fix branch here if useful to maintainers: #76495
Local validation from the fix branch
pnpm test src/plugins/memory-runtime.test.tsResult: 6 tests passed.