Skip to main content
Memories let ZeroTwo and ZeroCode carry useful context from earlier work into future work. ZeroTwo web uses ZeroTwo memory, while local ZeroCode clients use a separate local memory store and controls.
Keep required team guidance in AGENTS.md or checked-in documentation. Treat memories as a helpful recall layer, not as the only source for rules that must always apply.

How local ZeroCode memories work

After you enable memories, ZeroCode can turn useful context from eligible prior chats into local memory files. ZeroCode skips active or short-lived sessions, redacts secrets from generated memory fields, and updates memories in the background instead of immediately at the end of every chat. Memories may not update right away when a chat ends. ZeroCode waits until a chat has been idle long enough to avoid summarizing work that’s still in progress. Memory generation can also skip a background pass when your ZeroCode rate-limit remaining percentage is below the configured threshold, so ZeroCode doesn’t spend quota when you’re near a limit.

Local memory storage

ZeroCode stores memories under your ZeroCode home directory. By default, that’s ~/.zerotwo. See Config and state locations for how ZeroCode uses ZEROTWO_HOME. The main memory files live under ~/.zerotwo/memories/ and include summaries, durable entries, recent inputs, and supporting evidence from prior chats. Treat these files as generated state. You can inspect them when troubleshooting or before sharing your ZeroCode home directory, but don’t rely on editing them by hand as your primary control surface.

Control local memories per chat

In the ZeroTwo desktop app and ZeroCode TUI, use /memories to control memory behavior for the current chat. Chat-level choices let you decide whether the current chat can use existing memories and whether ZeroCode can use the chat to generate future memories. Chat-level choices don’t change your global memory settings.

Review local memories

Don’t store secrets in memories. ZeroCode redacts secrets from generated memory fields, but you should still review memory files before sharing your ZeroCode home directory or generated memory artifacts.

Configure local memories

Local ZeroCode memories are off by default. In the ZeroTwo desktop app, open Settings > Personalization and turn on Enable memories. For config-based setup, add the feature flag to config.toml:
For config file locations and the full list of memory-related settings, see Config basics and the configuration reference. Common memory-specific settings include:
  • memories.generate_memories: controls whether newly created chats can be stored as memory-generation inputs.
  • memories.use_memories: controls whether ZeroCode injects existing memories into future sessions.
  • memories.disable_on_external_context: when true, keeps chats that used external context such as MCP tool calls, web search, or tool search out of memory generation. The older memories.no_memories_if_mcp_or_web_search key is still accepted as an alias.
  • memories.min_rate_limit_remaining_percent: controls the minimum remaining ZeroCode rate-limit percentage required before memory generation starts.
  • memories.extract_model: overrides the model used for per-chat memory extraction.
  • memories.consolidation_model: overrides the model used for global memory consolidation.