Pre-submission checklist | 提交前检查
Bug Description | 问题描述
Bug Description
When memos-local-plugin v2.0.10 is loaded in OpenClaw gateway (v2026.7.1-2), the plugin initializes successfully (memos-local: plugin ready in logs) and registers tools via api.registerTool(), but the tools (memos_search, memos_get, memos_timeline, memos_environment, memos_skill_list, memos_skill_get) are not delivered to any session — neither main nor subagent sessions receive them in their tool set.
Environment
- Plugin:
@memtensor/memos-local-plugin@2.0.10
- OpenClaw:
2026.7.1-2 (0790d9f)
- Node.js:
v24.18.0
- OS: Ubuntu Linux 6.8.0-90-generic (x64)
- Config:
tools.profile = "coding", tools.alsoAllow = ["memos_search", "memos_get", "memos_timeline", "memos_environment", "memos_skill_list", "memos_skill_get", "group:plugins"]
Symptoms
- Gateway log shows
memos-local: plugin ready ✅
openclaw plugins inspect shows status: "error", toolNames: [] ❌
- The
DuplicateOpenClawRuntimeError comes from the inspect command's separate process (different PID), not the gateway
- Subagent sessions do NOT receive
memos_search or any plugin tools
Root Cause Analysis
Issue 1: Double register() call
OpenClaw calls register() twice for the plugin within the same process. Second call fails because first call holds the lock and viewer port.
Issue 2: Lock check doesn't exclude same-PID
acquireOpenClawRuntimeLock throws when it finds an existing lock with a live PID, even for the same process (same PID, different token).
Issue 3 (UNRESOLVED): Tools not delivered to sessions
Even with both issues patched and plugin ready logging successfully, plugin tools are not delivered to sessions. The tool resolution pipeline's hasManifestToolAvailability check appears to fail — the plugin's runtime error status from diagnostic processes may be poisoning tool availability for gateway sessions.
Related Issues
How to Reproduce | 如何重现
Every time when restarting the OpenClaw, can see that MemOS local plugin initialized twice.
Environment | 环境信息
MemOS version : 2.0.10 Local Plugin
Additional Context | 其他信息
No response
Willingness to Implement | 实现意愿
Pre-submission checklist | 提交前检查
Bug Description | 问题描述
Bug Description
When
memos-local-pluginv2.0.10 is loaded in OpenClaw gateway (v2026.7.1-2), the plugin initializes successfully (memos-local: plugin readyin logs) and registers tools viaapi.registerTool(), but the tools (memos_search,memos_get,memos_timeline,memos_environment,memos_skill_list,memos_skill_get) are not delivered to any session — neither main nor subagent sessions receive them in their tool set.Environment
@memtensor/memos-local-plugin@2.0.102026.7.1-2 (0790d9f)v24.18.0tools.profile = "coding",tools.alsoAllow = ["memos_search", "memos_get", "memos_timeline", "memos_environment", "memos_skill_list", "memos_skill_get", "group:plugins"]Symptoms
memos-local: plugin ready✅openclaw plugins inspectshowsstatus: "error",toolNames: []❌DuplicateOpenClawRuntimeErrorcomes from the inspect command's separate process (different PID), not the gatewaymemos_searchor any plugin toolsRoot Cause Analysis
Issue 1: Double register() call
OpenClaw calls
register()twice for the plugin within the same process. Second call fails because first call holds the lock and viewer port.Issue 2: Lock check doesn't exclude same-PID
acquireOpenClawRuntimeLockthrows when it finds an existing lock with a live PID, even for the same process (same PID, different token).Issue 3 (UNRESOLVED): Tools not delivered to sessions
Even with both issues patched and
plugin readylogging successfully, plugin tools are not delivered to sessions. The tool resolution pipeline'shasManifestToolAvailabilitycheck appears to fail — the plugin's runtime error status from diagnostic processes may be poisoning tool availability for gateway sessions.Related Issues
openclaw doctorreportsDuplicateOpenClawRuntimeError(false positive)How to Reproduce | 如何重现
Every time when restarting the OpenClaw, can see that MemOS local plugin initialized twice.
Environment | 环境信息
MemOS version : 2.0.10 Local Plugin
Additional Context | 其他信息
No response
Willingness to Implement | 实现意愿