Claude Code and Codex can both learn how a project works, but they do not normally learn from each other. Claude Code may record why production runs on Railway, while Codex remembers the migration rule that must run before every deploy. When you switch tools, the new agent starts with only the memory and instructions available through its own harness.
That makes cross-agent work unnecessarily repetitive. You either explain the same architecture again, paste a growing instruction file into both tools, or hope the missing decision appears in the current repository. None of those approaches gives you one inspectable answer with the original sources attached.
Docmancer creates a local shared-memory workflow without replacing either agent. It discovers what both tools already wrote, indexes the evidence on your machine, builds readable and revisioned Context, and delivers that Context through the integrations each agent already supports.
Install both integrations
Install Docmancer with an isolated Python runtime, then ask setup to connect Claude Code and Codex:
pipx install docmancer --python python3.13
docmancer setup --agent claude-code --agent codex
Setup discovers existing memory, instructions, rules, and eligible session evidence before installing the Docmancer skills for both agents. The durable source files remain in their original locations. Docmancer adds a local index and delivery layer rather than moving the records into a hosted workspace.
If you want relevant memory recalled automatically at the start of a session or prompt, install the read-only hooks separately:
docmancer agent install claude-code --hooks
docmancer agent install codex --hooks
Recall hooks are project-aware and bounded. They include matching project, team, and global memory while excluding unrelated repositories. Capture is a different opt-in and is not enabled by --hooks.
Ask one question across both agents
Suppose Claude Code recorded the deployment choice and Codex later captured a worker constraint. Ask the question once:
docmancer ask \
"Why does this project deploy through Railway?" \
--project "$PWD"
docmancer ask searches the local corpus, applies the project boundary, and returns the useful evidence with inline citations. If a configured provider is available, it can generate a grounded answer from that bundle. Without a provider, the local evidence path still works.
The important distinction is that the answer is not an invented compromise between two agents. Each useful claim remains tied to the source file, agent, project, and update time that support it. Weak matches stay out instead of being promoted because they happen to rank first.
Use the debug and evidence-only flags when you want to inspect retrieval rather than read a synthesized answer:
docmancer ask \
"Why does this project deploy through Railway?" \
--project "$PWD" \
--debug \
--no-answer
This is useful when the answer feels incomplete. You can see whether one agent's source was never discovered, whether the record belongs to another project, or whether the available evidence genuinely does not answer the question.
Find knowledge that recurs across agents
Shared memory should not mean dumping every note from every tool into one file. Some records are incidental, some are stale, and some represent the same durable preference written independently by several agents.
Use common to find equivalent memories that recur across two or more harnesses:
docmancer common --project "$PWD"
For example, Claude Code and Codex may both have recorded that release notes must include the migration boundary, or that environment files must never be read. Recurrence does not automatically make a statement true, but it is a strong signal that the knowledge is important enough to inspect and carry forward.
Build one readable Context
Raw agent evidence is useful for provenance, but it is not the best always-loaded surface. A coding agent needs a bounded summary of the decisions, preferences, rules, and recurring knowledge relevant to the current project.
Preview a Context refresh before writing a revision:
docmancer context refresh --project "$PWD" --dry-run
The dry run is deterministic and non-mutating. It shows the source groups and expected changes before a new Context revision is created. The default provider is none, so the local path does not require an API key:
docmancer context refresh --project "$PWD" --provider none
docmancer context show --project "$PWD"
Context is revisioned rather than overwritten in place. That matters when Claude Code and Codex disagree, or when a decision changes after a migration. You can inspect the current result, compare revisions, and roll back deliberately instead of losing the history that explains why an older note exists.
Deliver the same Context to both agents
Refresh the approved projection in the installed agent surfaces:
docmancer agent refresh --agent claude-code --agent codex --project "$PWD"
docmancer delivery --project "$PWD"
delivery reports integration mode and the latest observed Context receipt for each agent. It separates skill installation, managed instructions, recall hooks, capture, and recent use so that "connected" does not hide a partially configured integration.
From that point, Claude Code and Codex still behave like different agents with different models and tools. What changes is their starting knowledge. Both can receive the same readable project Context and recall the same source-attributed evidence when the current task needs more detail.
Inspect the workflow in the local app
Run the human interface when you want to read the corpus rather than operate it entirely through commands:
docmancer web
The Home view lets you ask grounded questions and inspect their sources. Context shows the readable artifact and its revision history. Library keeps memory sources and indexed documentation available without mixing them into one answer. The server binds to 127.0.0.1, so the interface and plaintext memory remain on the machine.
The complete shared-memory workflow
The smallest useful setup is:
pipx install docmancer --python python3.13
docmancer setup --agent claude-code --agent codex
docmancer ask "What deployment decisions have we recorded?" --project "$PWD"
docmancer context refresh --project "$PWD" --dry-run
docmancer context refresh --project "$PWD" --provider none
docmancer agent refresh --agent claude-code --agent codex --project "$PWD"
docmancer delivery --project "$PWD"
The agent integration guide explains skills, recall hooks, capture hooks, and local MCP separately. The How Docmancer works guide covers the full path from discovered evidence to revisioned Context and delivery.