Skip to content

Memory

Memory stores short notes used across sessions: preferences, project constraints and procedures that cannot be inferred from code.

Scopes

Scope Path Use
user ~/.gdc/memory/ Notes for all projects
project <project>/.gdc/memory/ Shared project notes
local <project>/.gdc/memory.local/ Private project notes

For duplicate names, lookup uses local, then project, then user. Add the local directory to version-control ignores if its notes are private.

Loading notes

Session startup loads each enabled scope's MEMORY.md index. The agent reads full notes through memory tools. Index edits are picked up at the next session start. Worker inheritance requires memory_inheritance: true in its profile; hidden profiles do not inherit.

Reading and searching are allowed by default. Agent writes and deletes require approval.

Managing memory yourself

gdc memory list
gdc memory search redis
gdc memory show staging
gdc memory write staging --description "Staging database" \
  --type project --scope project --content "The staging database is read-only."
gdc memory delete staging --scope project

write creates or replaces a note. Use --content - for stdin. Write and delete require an explicit scope; delete exits with code 1 on a miss.

Turning it off

[memory]
enabled = false

Disables automatic index injection while retaining memory tools. See configuration for per-scope controls.