Last updated: October 19, 2026
Short answer: Give both agents the same external store and have them read and write it at a fixed path. With Fulcra, Claude Code and Codex both use the fulcra-api CLI (or the Fulcra MCP server), keep shared memory in a file such as /agents/project-memory.md, and check data-updates at the start of each session to see which files changed since they last looked.
Claude Code and Codex can both read an AGENTS.md file for project instructions, but that covers what you wrote in advance, not what they learn while working. Each keeps what it learns in a session to itself, so what one agent figures out stays with that agent. People describe this as "keeping Claude Code and Codex in sync."
AGENTS.md that both agents read is simpler and free.AGENTS.md, which both agents read. Good for conventions; doesn't capture what agents learn during sessions.Both agents have a shell, so the CLI is the simplest route. If the login fails immediately, the agent's sandbox probably has no network access (common in Codex's default sandbox). Use MCP instead.
AGENTS.md, which both agents read (if your Claude Code setup doesn't pick up AGENTS.md, reference it from CLAUDE.md):
## Shared memory
- Durable memory lives in Fulcra at /agents/project-memory.md.
- At session start, check what changed and read the file:
uvx fulcra-api data-updates "1 day"
uvx fulcra-api file download /agents/project-memory.md -
- Before ending, write decisions and open threads back to the same path
(Fulcra keeps every version):
uvx fulcra-api file upload project-memory.md /agents/project-memory.mdread_file, write_file and get_data_updates tools instead.Written by Fulcra. We make one of the tools recommended on this page.