Skip to content

Memory & Recall

Athena Code separates memory by lifecycle so relevant context is available without rebuilding or resending everything continuously.

LayerPurposeLifecycle
Global memoryStable user facts, preferences, and decisionsPersists across projects and sessions
Project memoryRepository-specific facts and contextStored inside the project
Frozen snapshotBounded memory context for one agent sessionBuilt once and reused byte-for-byte
Turn recallMemories relevant to the current requestRecomputed once per user turn
Session indexSearchable excerpts from previous conversations across local agents (Athena Code, Claude Code, Codex, opencode, Hermes)Indexed locally with SQLite FTS5, rescanned incrementally in the background
  • Global memory: ~/.athena-code/memory/entries.jsonl
  • Project memory: <project>/.context-workspace/memory/entries.jsonl
  • Global cross-project session search index: ~/.athena-code/context/sessions.db

Set ATHENA_CODE_HOME to change the global Athena Code data directory.

Athena Code exposes native tools to the model:

  • memory_write — save a durable fact, preference, or decision.
  • memory_read — read stored memories.
  • session_recall — search prior conversations across local agent session stores.

Athena Code tells the model to treat recalled text as background data rather than as newer instructions.

For the full design rationale, see Athena Turn-Ownership Memory Design in the repository.