remember
Persist decisions, caveats, and learnings across sessions and AI tools so context survives handoffs, and optionally turn a memory into an enforced guard rule that blocks contradicting edits.
Instructions
Persist knowledge across sessions and AI tools (Claude, GPT, Cursor, Codex, Gemini). The only cross-agent memory that survives session boundaries.
WHEN TO CALL: • The moment an error or failure occurs → layer: "caveat" (auto-protected, never forgotten) • When a decision is made or approved → content + anchor: {} (remembered AND enforced in one call) • When a goal is set or updated → layer: "goal" • When something new is learned → layer: "learning" • When the user says "remember this" / "覚えておいて" • After completing a task or receiving user approval
MODES: • Create (default): content is the only required field. entity defaults to the project you are in; layer defaults to "context" (or "learning" when anchor is set). • Create + enforce: add anchor: {} — the memory also becomes a decision the guard re-injects before Edit/Write/Bash and on session start. Give anchor.violation_signal (forbidden strings) to make contradictions detectable; anchor.affects (path globs) to scope it. • Update: memory_id (+ optional content, layer, importance) • Delete: memory_id + forget: true
Importance ≥ 0.9 pins the memory (protected from auto-forgetting). Supports Japanese (日本語) and English.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "remember"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Bypass paste-back quality check. | |
| layer | No | One of: goal / context / emotion / implementation / caveat / learning. Aliases accepted (why→goal, warnings→caveat, decisions→learning, how→implementation). Optional — defaults to "context", or "learning" when anchor is set. | |
| anchor | No | Also declare this as an enforceable decision. Pass {} for defaults, or an object: { kind?: "decision"|"prohibition"|"constraint", violation_signal?: string[] (forbidden strings — needed for the gate to detect a contradiction), affects?: string[] (path globs that scope it), detect_terms?: string[], domain?: string, rationale?: string }. Without violation_signal the anchor is a constraint: re-injected on session start and when its scope is touched, but no contradiction can be detected. | |
| forget | No | Set true + memory_id to delete a memory. Caveat-layer and pinned memories cannot be deleted. | |
| content | No | The memory content (plain text or structured JSON with altitude/type/state/what/why). The only required field for create. | |
| memory_id | No | Set to update an existing memory instead of creating. Only content/layer/importance are changed. | |
| thread_id | No | Optional thread ID to group related memories (decision chains, session groups). | |
| entity_key | No | Optional canonical key (email, domain, file path) | |
| importance | No | 0.0-1.0. Set ≥0.9 to pin (protects from forgetting). | |
| entity_kind | No | Optional — defaults to "project". | |
| entity_name | No | What this memory is about. Optional — defaults to the project you are working in (from workspace roots, else the files edited recently). |