Finch does two things that both deal with "old content," but for different purposes — easy to mix up:
- Memory: what's discussed now, carried forward so the next conversation still remembers it — works across sessions.
- Compaction: what happens when a single conversation runs long and starts filling up — only affects that one conversation.
In short: compaction keeps the current conversation alive; memory leaves notes for your future self.
How memory accumulates
Finch doesn't store entire chat transcripts as memory — it sorts information into categories:
- Stable facts about you (how to address you, communication preferences)
- What you're currently working on, and habits shared across projects
- Short-lived information that's only useful for a few days, then auto-expires
- Conventions specific to one project or Space
After each conversation ends, Finch looks back at what was discussed and picks out the genuinely durable information worth remembering — one-off task details, error messages, and command output are not kept, and anything already remembered isn't recorded again. These notes don't grow without bound; when they approach capacity or go stale, they're cleaned up automatically. Very short conversations, ones without substantive content, or conversations in private mode are never distilled into memory.
You can also explicitly say "remember..." or "forget...", and that takes effect immediately, without waiting for the conversation to end.
Where memory lives
Memory isn't a black box — it's all plain Markdown, stored under Finch's personal home directory, and you can open or edit it yourself any time:
USER.md: stable facts about youMEMORY.md: current projects and cross-project habitsmemory/<date>.md: a daily scratch logmemory/spaces/<space>.md: memory scoped to a specific Spacememory/lessons.md: lessons learned from mistakes and tool misuse
The "Memory" page in settings lists these files and lets you preview them directly.
How compaction works
As a conversation gets long, every past message takes up space, and once it's nearly full, Finch compacts automatically: the most recent portion is kept in full, and the older portion is collapsed into a summary (goals, agreements, what's done/pending, key decisions), replacing the raw messages so the conversation can keep going. This happens automatically, with a "Compacting conversation…" indicator in the UI.
The resulting summary only applies within that one conversation — it doesn't carry over to a new conversation. That's the fundamental difference from memory.
Using a small model for these chores
Both memory distillation and compaction are essentially "summarization," and don't need your primary daily-driver model. The "Memory" settings page lets you assign a separate "memory & auxiliary task model" for these two jobs — disabled by default, but recommended to be a fast, low-cost model, so it doesn't eat into your primary model's quota and runs faster too.