Docs/Core concepts
Memory
Curated cross-session memory in plain Markdown: your preferences and each project's decisions, carried into every new conversation.
Source: crates/gray/src/memory.rs
Memory is a short list of named, one-line entries stored as Markdown under ~/.gray/memory — user.md for you, one file per project for that project's confirmed decisions. A snapshot joins the system prompt when a session starts and stays fixed for that session. There is no extraction service and no memory tool: the agent manages entries with the same gray memory commands you do, through bash.
$gray memory list # project scope by default$gray memory --scope user set editor "uses helix, not vim"$gray memory set test-cmd "run tests with cargo nextest"$gray memory show test-cmd$gray memory edit test-cmd "cargo nextest run --workspace"$gray memory remove test-cmd$gray memory audit # review entries; deletes nothing
| Command | Does |
|---|---|
| list · show <key> | read entries (--verbose adds save date and source session) |
| set <key> <text> | add or replace an entry |
| edit <key> <text> | rewrite an existing entry; fails on an unknown key |
| remove <key> · clear | forget one entry, or the whole scope |
| audit | check entries against the keep/delete rule |
Switching it off
/memory off is the master switch and /memory on brings it back; a bare /memory lists entries. GRAY_NO_MEMORY=1 refuses every write for that process.
Join the Discord
Chat with the people building and running Gray. Show what you made with it.
Join Discord →