The user wants to remove data from agentmemory: $ARGUMENTS
Quick start
memory_smart_search { "query": "old api key in config", "limit": 20 }
Show the matches, get a yes, then:
memory_governance_delete { "memoryIds": ["abc12345", "def67890"], "reason": "user privacy request" }
Expected output:
Found 2 matching memories. Confirmed. Deleted 2 memories.
Why
This is destructive and irreversible. Show exactly what will be deleted and get an explicit yes before calling delete. Delete by memory ID, never a bare session.
Workflow
- Search with
memory_smart_search, the user's text asquery,limit: 20. - Show what matched: session ids, memory ids, titles. Ask for explicit confirmation. Do not proceed on silence or a vague "sure, whatever".
- On confirmation, call
memory_governance_deletewithmemoryIds(array or comma-separated string) and optionalreason(defaultplugin skill request). - To drop a whole session, collect every memory id in that session from the
search results and pass them all. The MCP does not accept a bare
sessionId. - Lessons are separate: delete one with
memory_lesson_deleteand itslessonId;memory_governance_deletedoes not touch lessons. - Report the deletion count back. A count of 0 means the ids did not exist; say so instead of claiming a delete.
Anti-patterns
WRONG: search returns matches, you immediately call memory_governance_delete
without showing them or waiting for a yes.
RIGHT: list the matches, ask "Delete these 2? (yes/no)", and only delete after an explicit yes.
Checklist
- Matches were shown to the user before any delete.
- An explicit yes was received, not assumed.
memoryIdsholds real ids from the search, never a baresessionId.- Final message states the actual count deleted.
See also
remember: the write side; forget is its undo.recall: find the exact memory id before deleting.
Troubleshooting
See ../_shared/TROUBLESHOOTING.md if memory_smart_search or memory_governance_delete is not available.