The issue, as reported
It is one of the most widely reported problems on the Claude Code, Codex and OpenCode issue trackers: in a sweep of public issues, several hundred developers describe a long-running project outgrowing the session, many of them since July.
The pattern is the same across tools. On day one the agent works out the architecture and the decisions with you. On day two the session is gone and all of it has to be explained again. Some developers say they have stopped attempting multi-day tasks for that reason. People with hundreds of sessions behind them say they can no longer find the one where they stated a requirement. Heavy users count dozens of compactions a month, and several built their own memory system.
Running agents in parallel makes it worse. Close to a hundred developers describe several sessions or sub-agents working on one project with no way to see each other's findings: one session changes a schema, and another carries on building against the old one. A sub-agent given a narrow role, such as testing, has been reported drifting out of that role after an automatic compaction.
What developers report
Why it happens
Every session is a fresh start. Anthropic's documentation says so directly: each Claude Code session begins with a fresh context window. A new session loads your CLAUDE.md or AGENTS.md and a capped memory index. It does not read your earlier conversations, where the reasons behind the decisions live.

Three things make that worse over months:
- The old conversations age out. Claude Code keeps transcripts on disk, but deletes them after 30 days by default (the
cleanupPeriodDayssetting). On a six-month project, most of the history is gone unless you change it. - Long sessions are summarised. Compaction replaces the conversation with a summary, and when you resume a long, idle session from a summary, the docs note that whatever the summary leaves out is no longer in context.
- Sub-agents start blank and report back a summary. In Claude Code, each sub-agent starts with a fresh, isolated context window and only its final result returns; sub-agents compact the same way the main conversation does. Codex's guidance is to return summaries from sub-agents instead of raw intermediate output. What a sub-agent learned on the way is kept in its own transcript, which nothing reads again.
How to fix it today
These steps use only the tools themselves and follow their current documentation.
- Keep the transcripts for the life of the project
In Claude Code, raise the retention in
~/.claude/settings.json. A project's own settings file can override yours; our guide to the 30-day deletion covers the checks.{ "cleanupPeriodDays": 3650 } - Name sessions by workstream
Start with
claude -n billing-migration, or run/rename billing-migrationin a session, then come back withclaude --resume billing-migration. In the picker, type to search and pressCtrl+Ato see every project. In Codex,codex resumereopens a recent chat. - Keep a decision log in the repository
One dated line per decision, with the reason and what it replaces, committed with the code. Add a line to
AGENTS.mdtelling both tools to read it before changing anything it covers.2026-08-04 Postgres, not SQLite: reporting needs joins 2026-09-12 Retries in the client, not the proxy (replaces 08-20) 2026-09-29 Invoices are immutable once sent - Hand over at the end of each session
Keep a short handoff file (now, next, what failed) and load it automatically at start-up. Our article on re-explaining your project has the file and a working SessionStart hook.
- Give sub-agents somewhere to write
A Claude Code sub-agent (
.claude/agents/<name>.md) withmemory: projectkeeps notes in.claude/agent-memory/<name>/, and the first 200 lines of itsMEMORY.mdload next time. For parallel sessions and Codex sub-agents, add one instruction toAGENTS.md: append findings and decisions todocs/findings.mdbefore stopping.--- name: test-runner description: Runs the test suite and reports failures memory: project --- - Let live Claude Code sessions talk
From v2.1.224, cross-session messaging is on with nothing to enable. Run
/list-agentsto see your other sessions, then ask: "Tell the session working on the payments API that the schema migration finished."
What the fix doesn't cover
It is all upkeep. The log, the handoff file and the findings file are only as current as whoever last remembered to update them. Finding old reasons is slow. You can resume one named conversation at a time. The one where a trade-off was argued out in June still has to be found and read. Messages don't last. The docs say a cross-session message is "a piece of text one Claude writes to another, never the sender's conversation history". A session that starts next week gets nothing unless someone wrote it down. Sub-agent memory is per agent and capped, and Claude Code's agent teams are experimental: /resume doesn't bring back in-process teammates. Nothing crosses tools except the files you write yourself.
How Axiom Lift solves it
Axiom Lift keeps one history of the project, built from the sessions your tools already save, so the record doesn't depend on anyone's discipline.
The free fix
- Written by hand. A decision log and handoff file, current only if someone updates them.
- One conversation at a time. Old reasons mean finding and reopening the right session.
- Per tool. Claude Code's memory stays in Claude Code; Codex's stays in Codex.
- Sessions age out. Claude Code deletes transcripts after 30 days unless you change it.
With Axiom
- Filed as you work. A small helper reads the sessions Claude Code, Codex and OpenCode save, never edits them, and picks out requirements, decisions and corrections automatically.
- Asked, not re-read. The next session asks Axiom over a read-only MCP connection and gets the few lines that are true now, not the whole history.
- One history across tools. What was settled in Claude Code is there when you open Codex or OpenCode.
- Changes of mind kept. An old decision is struck through, not erased, and linked to the moment it was said.

On a project that runs for months, the plan matters. On the free plan, your AI can reach the last six months of history (up to 1 GB). Pro keeps all history and tells you when a later conversation changed an earlier decision. Automated agent runs are told apart from the sessions you type, kept and searchable, and out of the way.
For parallel agents, Axiom helps only in part. What one session settled is there for any later session to ask, in any of the three tools. But it is not a live channel between agents running at the same moment, and it is not a scratchpad sub-agents write to mid-task. Use the tool's own messaging for live coordination. Axiom also doesn't replace AGENTS.md for rules that must always apply, and it doesn't cover Cursor, or ChatGPT and Claude in a browser.
Install is one command in a desktop terminal (Mac; Linux and Windows in beta; needs Python 3). It shows you what it found before anything is sent, it's free, and axiom uninstall removes it.
One command in the terminal where you use Claude Code, Codex or OpenCode. Free, no card.
Try it free →Claude, Codex and OpenCode are trademarks of their owners; Axiom works alongside them and is not affiliated.
