#Error: Bundled plugin public surface access blocked for "memory-core" via memory-core/runtime-ap
1 messages · Page 1 of 1 (latest)
I’m checking the plugin docs and source so I can give you the least hand-wavy answer.
That error usually means memory-core exists, but its runtime is not activated by your current plugin config.
Please paste these three outputs:
openclaw --version
openclaw status --all
openclaw plugins inspect memory-core
Also, what command or action triggered the error?
Common causes I’d check first:
plugins.enabled: falseplugins.allowis set, but does not includememory-coreplugins.entries["memory-core"].enabled: false
plugins.slots.memoryis"none"or switched to a different memory plugin
If you want the default bundled memory plugin, the config should effectively allow/select:
{
plugins: {
enabled: true,
slots: { memory: "memory-core" },
entries: { "memory-core": { enabled: true } }
// and if you use plugins.allow, include "memory-core" there too
}
}
After fixing config, restart the gateway:
openclaw gateway restart
Docs:
- https://docs.openclaw.ai/help/faq
- https://docs.openclaw.ai/tools/plugin
- https://docs.openclaw.ai/gateway/troubleshooting
If you’re intentionally using a different memory plugin and still getting this, that smells like a bug/regression, so the version + inspect output will matter a lot.
22:57:10+08:00 [plugins] mdMirror: resolved 6 agent workspace(s)
@openclaw/memory-core
id: memory-core
OpenClaw core memory search plugin
Status: disabled
Format: openclaw
Source: ~/.npm-global/lib/node_modules/openclaw/dist/extensions/memory-core/index.js
Origin: bundled
Version: 2026.4.9
Shape: non-capability
Capability mode: none
Legacy before_agent_start: no
Error: not in allowlist
Nice, this one is clear.
memory-core is disabled because your plugins.allow excludes it.
Fastest fix:
openclaw plugins enable memory-core
openclaw gateway restart
If you edit config manually instead, make sure memory-core is included in plugins.allow, and if you want the default memory backend also make sure:
{
plugins: {
slots: {
memory: "memory-core"
}
}
}
Docs:
If that still errors after restart, paste:
openclaw --version
openclaw status --all
maxchock@raspberrypi:~ $ openclaw plugins enable memory-core
23:00:55+08:00 [plugins] [memory-lancedb-pro] memory_recall queries the plugin store (LanceDB), not MEMORY.md.
- Plugin memory (LanceDB) = primary recall source for semantic search
- MEMORY.md / memory/YYYY-MM-DD.md = startup context / journal only
- Use memory_store or auto-capture for recallable memories.
23:00:55+08:00 [plugins] mdMirror: resolved 6 agent workspace(s)
🦞 OpenClaw 2026.4.9 (0512059) — I'm not magic—I'm just extremely persistent with retries and coping strategies.
23:00:57+08:00 [plugins] [memory-lancedb-pro] memory_recall queries the plugin store (LanceDB), not MEMORY.md.
- Plugin memory (LanceDB) = primary recall source for semantic search
- MEMORY.md / memory/YYYY-MM-DD.md = startup context / journal only
- Use memory_store or auto-capture for recallable memories.
23:00:57+08:00 [plugins] mdMirror: resolved 6 agent workspace(s)
[openclaw] Failed to start CLI: Error: Config validation failed: plugins.entries.memory-lancedb.config.embedding: invalid config: must have required property 'embedding'
at Object.writeConfigFile (file:///home/maxchock/.npm-global/lib/node_modules/openclaw/dist/config-nRyLQtXB.js:19474:10)
at async writeConfigFile (file:///home/maxchock/.npm-global/lib/node_modules/openclaw/dist/config-nRyLQtXB.js:19675:22)
at async replaceConfigFile (file:///home/maxchock/.npm-global/lib/node_modules/openclaw/dist/config-nRyLQtXB.js:19721:2)
at async Command.<anonymous> (file:///home/maxchock/.npm-global/lib/node_modules/openclaw/dist/plugins-cli-BybyVQfU.js:386:3)
at async Command.parseAsync (/home/maxchock/.npm-global/lib/node_modules/openclaw/node_modules/commander/lib/command.js:1122:5)
at async runCli (file:///home/maxchock/.npm-global/lib/node_modules/openclaw/dist/run-main-DC1dNPE7.js:439:4)
Let me check the memory plugin docs so I don’t guess the config shape.
Ah, got it, this is a second issue.
memory-core was blocked by the allowlist, but now the config write is failing because your existing memory-lancedb config is invalid:
plugins.entries.memory-lancedb.config.embedding is missing.
So OpenClaw refuses to write any config change until that is fixed.
Best next step
Pick one of these:
1. You want to keep using LanceDB memory
Add the required embedding config first:
openclaw config set plugins.entries.memory-lancedb.config.embedding '{"apiKey":"${OPENAI_API_KEY}","model":"text-embedding-3-small"}' --strict-json
openclaw gateway restart
(Assumes OPENAI_API_KEY is already set in your environment.)
2. You want to switch back to memory-core ← probably the easiest path right now
openclaw config unset plugins.entries.memory-lancedb
openclaw config set plugins.slots.memory "memory-core"
openclaw plugins enable memory-core
openclaw gateway restart
So, short version: the allowlist problem was real, but the write got blocked by an invalid memory-lancedb config before it could fix anything.