remember
Save durable memories with automatic deduplication: re-remembering a fact updates it instead of creating duplicates, keeping notes refined across sessions.
Instructions
Save a durable memory. UPSERTS: a memory of the same type with the same
(whitespace/case-normalized) title is updated in place instead of
duplicated, so re-remembering a fact refines it rather than cluttering.
Worth remembering: decisions and their reasons, conventions, gotchas that cost time, the user's preferences and how they like to work, facts about the environment (paths, commands, accounts) you had to discover. Not worth it: anything derivable from the code, or a transcript of what you did. Remember it when you learn it, not at the end of the session.
Memories of type project/feedback/reference are tagged with the current
project automatically (proj:<name>, from CLAUDE_PROJECT_DIR) unless you
pass a proj: tag yourself; user memories are about the person and
stay global.
Args: type: one of "user", "feedback", "project", "reference". title: a short label; also the dedup key within a type. body: the fact. For feedback/project, a "Why:" / "How to apply:" line helps. tags: optional comma-separated tags. links: optional list of related memory ids. Merged (union) into any links already on the memory, never replaces them - omitting this on a refine call preserves links set earlier. crystallizes: optional list of source memory ids this memory abstracts; links it over them as a crystallized principle (needs TETHER_CRYSTALLIZE).
Returns {"id", "action"} where action is "created", "updated", or (with TETHER_CONSOLIDATE on) "consolidated" - a near-duplicate was superseded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| tags | No | ||
| type | Yes | ||
| links | No | ||
| title | Yes | ||
| crystallizes | No |