Skip to content

memory_update rejects agent-scoped memories as outside accessible scopes #231

@xielk

Description

@xielk

Plugin Version

1.1.0-beta.8

OpenClaw Version

OpenClaw 2026.3.12 (6472949)

Bug Description

memory_update can fail for memories stored in dynamic agent scopes like agent:main with the error Memory <id> is outside accessible scopes, even though the same memory can be successfully stored, recalled, and deleted.

I reproduced this locally during validation of memory-lancedb-pro on OpenClaw 2026.3.12. The issue appeared specifically when updating an agent-scoped memory that had just been created and recalled successfully.

I fixed it locally by:

  • adding an optional scope parameter to memory_update
  • narrowing scopeFilter using that explicit scope after access validation
  • normalizing scope strings inside store.update() before comparison

After the fix, memory_update succeeded and the updated content was retrievable correctly.

Expected Behavior

memory_update should work for agent-scoped memories such as agent:main just like memory_store, memory_recall, and memory_forget, without incorrectly rejecting them as outside accessible scopes.

Steps to Reproduce

  1. Store a memory in agent:main
  2. Recall it successfully
  3. Call memory_update on that memory
  4. Observe the error: Memory <id> is outside accessible scopes

In my local validation, the same memory could still be stored, recalled, and forgotten successfully.

Error Logs / Screenshots

Observed error:

`Memory <id> is outside accessible scopes`

Environment details:
- Plugin version: 1.1.0-beta.8
- OpenClaw version: 2026.3.12 (6472949)
- Scope involved: `agent:main`
- Verified local fix: yes

Embedding Provider

None

OS / Platform

macOS 15 / Darwin arm64

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions