Short answer: use a single Memory Handoff format in each harness’s inbox, then ingest into one shared memory store. Brigade wires writer inboxes (Claude, Codex, Grok, Hermes, and more), lints drafts, and routes safe ones into reviewed markdown cards under one owner.
The problem
Coding agents forget across sessions and across tools. If Claude Code learned something and Codex starts tomorrow, the knowledge dies unless you copy it by hand. Dumping everything into a giant CLAUDE.md or AGENTS.md blows the context window and mixes durable facts with session noise.
The Brigade path
brigade operator quickstart --target . --harnesses claude,codex,grok
brigade handoff draft --target . --inbox grok \
--type decision --title "..." --summary "..." \
--fact "..." --evidence "..." --action create-card \
--target-card my-topic.md --content-file ./card.md
brigade ingest --target . --promote-cards
Each harness gets an inbox such as .claude/memory-handoffs/, .codex/memory-handoffs/, or .grok/memory-handoffs/. Drafts use the same template. Ingest promotes create-card handoffs into memory/cards/ and keeps the bootstrap files slim.
What this is not
- Not a hosted memory API.
- Not automatic silent writes into production memory without review.
- Not a replacement for your app’s product memory layer (see Brigade vs mem0).
When to use it
Use handoffs when two or more coding agents work the same repo or workspace and you need durable facts, decisions, and evidence to survive session boundaries. Skip it if you only ever use one agent and a single short note file is enough.
Questions
Does every harness need a separate note format? No. Brigade keeps one template and one ingest path so Claude, Codex, Grok, Hermes, and the rest speak the same handoff language.
Where do notes go after ingest? Into reviewed memory cards and the owner workspace’s memory index, not into a remote database.
Can Grok write handoffs? Yes. Select the grok harness so .grok/memory-handoffs/ is wired, then draft with --inbox grok.
See handoff docs and memory ownership.