capture
Store decisions, learnings, errors, and task outcomes as searchable memory to retain context across sessions and share with your team via git sync.
Instructions
Store a decision, a learning, or a task outcome to memory. Call this tool after you complete a non-trivial task, make a decision, or fix a bug with a known root cause. You can capture a single text string, or a list of role-based conversation messages. Captures are project-local by default. Write to global memory ONLY when the user explicitly asks to remember something across projects/globally; then pass session_key="global".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional tags. | |
| type | No | The type of the memory. Defaults to 'conversation' if omitted. | conversation |
| atoms | No | Optional L1 atom facts distilled from this capture. Each atom is a short, self-contained fact useful on its own (e.g., 'vitest config missing causes npm test exit 1'). When provided, recall() returns these atoms instead of the raw content — 90% fewer tokens. Write 1-3 atoms for decisions, learnings, and errors. Skip for conversations. | |
| format | No | The response format. Use 'json' for structured data (e.g. benchmarks). Defaults to 'text'. | text |
| content | No | The text to remember. The tool redacts secrets before it stores the text. Use this for a single message. Use 'messages' instead for a multi-turn conversation. | |
| task_id | No | The task ID. Use this to isolate memory by a specific task. Link captures to a task for finer isolation. | |
| team_id | No | The team ID. Use this to isolate memory by team. When set, all queries filter by this value. | |
| user_id | No | The user ID. Use this to isolate memory by user within a team. When set with team_id, queries filter by both. | |
| agent_id | No | The agent ID. Use this to isolate memory by agent role within a team. Defaults to the detected agent. | |
| messages | No | A list of role-based conversation messages to capture. When set, 'content' is ignored. The tool flattens the messages into a single text for search, and stores the original messages for retrieval. | |
| metadata | No | Optional metadata. | |
| verified | No | Set this to true to mark the capture as verified. Verified captures rank higher in recall. | |
| supersedes | No | The ID of a capture that this one replaces. The old capture is marked as stale and ranks lower. | |
| auto_global | No | Compatibility option for explicit global routing. Prefer session_key='global' and use this only when the user explicitly asks for cross-project classification. Requires REMEM_GLOBAL_SESSION_KEY. | |
| session_key | No | The session key. The default is hash(cwd). Use 'global' to store cross-project knowledge (rules, conventions, learnings), but ONLY when the user explicitly asks to save it globally. | |
| override_reason | No | Required when override_rejection is true. Explain why the rejection no longer applies. Logged to audit. | |
| override_rejection | No | Set this to true to force capture even if the content was previously rejected. Use this only when the rejection reason no longer applies. |