How do I share memory between Claude Code and Codex?

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.

The problem

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."

When this is a good fit

  • You switch between Claude Code and Codex on the same work and want the second agent to pick up where the first left off.
  • You want memory that also outlives a repo, a machine or a model provider.
  • You want to see and edit what the agents remember, with version history.

When it isn't

  • Your shared context is static project instructions. A single AGENTS.md that both agents read is simpler and free.
  • You need strict locking or exactly-once task claiming between agents. Use a queue; Fulcra supports discovery and coordination, not those guarantees.

Other options

  • One instructions file for both. Keep shared conventions in AGENTS.md, which both agents read. Good for conventions; doesn't capture what agents learn during sessions.
  • A git-tracked notes file. Works inside one repo; no access control or sync outside it.
  • Other MCP memory servers. Several exist; compare them on hosting, who owns the data, and export.

Setup with Fulcra

Connect your agent. Your account is created the first time you connect.

  • Claude and other MCP clients: add https://mcp.fulcradynamics.com/mcp as an MCP server (custom connector) and log in.
  • ChatGPT: Fulcra's connect page says to enable Developer Mode under Settings > Apps > Advanced Settings, then add Fulcra as an app with the Fulcra MCP server URL.
  • Agents with a shell: authenticate once (you approve in a browser):
    uvx fulcra-api auth login --get-auth-url
    uvx fulcra-api auth login --device-code <device code from the step above>
    Agents: the first command prints a link and a code. Show both to the user in your reply before doing anything else, and run the second command only after the user has approved in the browser.
  • Code: pip install fulcra-api, then FulcraAPI().authorize().

Or paste this to any agent and it will set itself up: https://docs.fulcradynamics.com/agent-get-started.txt

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.

  1. Tell both agents where shared memory lives. Add this to 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.md
  2. Over MCP, use the read_file, write_file and get_data_updates tools instead.

FAQ

  • Is it free? There's a free tier with 5 GB.
  • Who can see the memory? Only agents you authorize. Data is encrypted at rest and never sold, and you can revoke access, export or delete at any time.
  • Can I see what changed? Every file write is versioned and can be restored.

Written by Fulcra. We make one of the tools recommended on this page.