Docs / Memory
Memory
Save decisions and constraints so a later session can find them.
What it is
Flanner Memory stores decisions, constraints and facts about your project so a later agent session can find them without asking you again. For example: why you chose a database, which approach was rejected, or how the staging environment is set up.
Each memory is a Markdown file under .flanner/memory/. You can read, diff and commit it. The database is an index over those files. If it is lost, flanner mem rebuild restores it from the files. See also Flanner Memory.
Commands
flanner mem remember "Postgres over SQLite: we need concurrent writers"Saves one fact as a Markdown file, titled from its first line.
flanner mem recall "why postgres"Searches memory and says why each result matched.
flanner mem mode suggestLets an agent propose memories for you to approve, rather than writing them itself.
flanner mem pendingShows what is waiting on you, with the id to approve or reject.
flanner mem rebuildRebuilds the catalog and the search index from the files. The files are the record.
The full list is in the CLI reference.
Capture modes
off
Nothing is captured. Recall still works on whatever is already there.
explicit
Only what you ask for, by hand or by telling the agent to remember it. The default.
suggest
An agent proposes what it thinks is worth keeping. Nothing is stored until you approve it.
auto-safe
The agent stores decisions and constraints on its own, still refusing secrets. Off unless a project turns it on.
Set with flanner mem mode <mode>. A project's .flanner/memory.yml may only tighten what the machine-wide policy allows, never loosen it.
What it will not store
Secrets. Anything that looks like an API key, token, private key or password is refused before it is written, whether you typed it or an agent proposed it. The same check runs on anything a teammate sends you.
Anything you did not approve. In suggest mode, an agent proposes and you approve. Personal memory is never shared with anyone.
Memories are context an agent reads, not instructions it follows.