Claude Code session summary is wrong
The summary reads like a status report: changes made, tests passing, work committed. Then you run git status. Nothing was committed, and the summary was describing intent.
Sources checked 2026-09-25.
Why summaries drift
A summary is generated text about the session, not a verified report of the machine state. When the session compressed a lot of activity, the model writes what the work was supposed to accomplish, and unverified claims read exactly like verified ones.
Public reports show this pattern clearly: summaries claiming code was committed when no commit ran, and sessions asserting tested status from stale memory rather than from a fresh check.
The cost is real. You build on a false premise, or you ship something you believe was verified.
Free fixes you can do today
These work today, with no new tools.
- 1
Make verification a command, not a claim
Ask for git status and git log as tool output, and read the output yourself. Tool output is evidence; prose is not.
- 2
Require a checks list at the end of a session
Commits made, tests run, files changed, each with the command that proves it. Then run the same commands yourself once per session.
- 3
Keep the summary short and factual in your own notes
Two lines you wrote beat a paragraph the model wrote. Write the handoff yourself when the session ends.
- 4
Treat unverified claims as unknown
If a claim matters, it has to be reproducible. That habit alone catches most of these.
The durable fix
Memory gives you a second source of truth. Decisions captured when they happen are dated records rather than reconstructions, so a session can be checked against what was actually decided earlier.
With the hooks installed, capture happens per completed turn, which means the record is written continuously instead of being summarized once at the end under pressure.
- 1
Install the hooks
One command
npx -y memoryrouter-claude init - 2
Record decisions at the moment they happen
When a choice is made, state it plainly in the session. It gets captured with the turn and can be recalled later, which is how you catch a summary that drifted.
- 3
Ask for the record, not the vibe
Ask Claude to search memory for what was decided about a specific system. Dated memories are harder to mis-summarize than a long session.
Full setup guide: Claude Code setup guide
Capture rules and hook events are documented on the Claude Code page. 14-day free trial.
Related
Claude Code memory
Keep project decisions across sessions and compaction with the published hook package.
Claude Code lost context after compaction
One compaction event, and the session forgets the plan, the file names, and the constraint you spent an hour explaining.
Codex memory
Persistent project context for Codex sessions, with a published hooks package.
FAQ
Sources
- anthropics/claude-code issue 60717: summaries claim committed when nothing ran
- anthropics/claude-code issue 75405: untrustworthy tested status from stale memory
- Claude Code docs: memory
Sources checked 2026-09-25. Tool behavior changes; check the vendor docs before relying on a detail.