Harvesting is Engram’s passive capture path. Instead of waiting for an agent to call theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/xantorres/engram/llms.txt
Use this file to discover all available pages before exploring further.
remember tool during a live session, you point engram harvest at a saved transcript file and Engram extracts candidate memories from the conversation automatically. This lets you seed your memory store from work you have already done — no retroactive prompting required.
Supported harnesses and transcript locations
Each supported agent writes its session transcripts to a well-known location on disk. Engram knows how to read all of them.| Harness | Transcript location |
|---|---|
claude-code | ~/.claude/projects/<project-slug>/<session-id>.jsonl |
codex | .jsonl session files in your Codex data directory |
opencode | .jsonl session files in your opencode data directory |
.jsonl). The claude-code reader locates files under the global ~/.claude/projects/ tree, keyed by a slug derived from your project path. Codex and opencode readers accept an explicit path to any .jsonl file.
Running a harvest
<path> argument is the path to a transcript file. The --harness flag tells Engram which reader to use; it defaults to claude-code. The --min-confidence flag sets a minimum extraction confidence score (0.0–1.0) and defaults to 0.5.
Examples
Filtering: what gets dropped before staging
Engram applies two layers of filtering before a candidate reaches the review queue. Trivial content is discarded automatically. A candidate is considered trivial if it is fewer than 20 characters, consists only of a bare filesystem path, or matches known noise patterns like"user identifier is X". These fragments carry no useful signal.
Duplicates are suppressed at two levels. First, candidates are checked against your existing memory store — if the same fact is already promoted or pending, the new extraction is dropped. Second, duplicates within the same harvest batch are collapsed so the same fact extracted from multiple turns of a conversation is only staged once.
Filtering happens before the candidate reaches the review queue. You will never see trivial or duplicate entries in
engram queue — the counts in the harvest summary are the only record that they existed.The --min-confidence flag
The extractor assigns each candidate a confidence score between 0.0 and 1.0 representing how strongly the model believes the extracted fact is a genuine, durable preference or decision. Setting --min-confidence higher reduces the number of staged candidates and tends to surface only the clearest signals.
Source attribution
Every extracted memory is tagged with a source identifier in the format:my-app project would carry the source harness:claude-code:my-app. This means the same fact learned from two different repositories is stored as two distinct memories, keeping per-project context cleanly separated.
Source attribution also powers deduplication: a promoted memory from harness:claude-code:my-app will not suppress an identical fact harvested from harness:codex:other-project.
Extractor configuration
engram harvest delegates the actual extraction to an LLM extractor. Before you can run a harvest you need to configure which model to use. If the extractor is not yet configured, the command will exit with a message pointing you to the configuration step.
Next steps
Once candidates are staged, move on to the review queue to approve or reject them before they enter recall.- Reviewing Memories — promote, reject, or forget staged candidates.
- Wiring Agents — connect agents so they can write memories live during sessions.