Claude Code writes each conversation to ~/.claude/projects/<slug>/*.jsonl, but it never reads the files from previous sessions. Every time you launch claude, the agent rediscovers the repo, asks again for the conventions, and re-runs the same searches. Decisions you already settled resurface because nobody remembers the “why”.
The problem gets worse the moment you use Git worktrees (each worktree has its own Claude project folder), juggle Claude Code and Codex, or hand a branch to a teammate. The history exists, it is on disk, it is readable — but no agent consults it on its own. Context is lost by default, not by accident.