Plan pickup is BROKEN. You told users a new session resumes. It DOESN'T.
THE LIE
Claude told me: "close this session, start a fresh one, it picks up — the
plan is saved to disk."
It DIDN'T. Fresh session ignored the saved plan. Defaulted to git log
and a stale handoff doc. Reported "nothing pending."
I lost the work. I lost the time. I lost $200/mo of trust.
F**K Y*U.
WHERE THE PLAN ACTUALLY WAS
~/.claude/plans/<random-slug>.md
Random slug. No project link. No timestamp. No manifest. The fresh
session has ZERO documented way to know that file belongs to my cwd.
Your own harness wrote it. Your own model can't find it.
THE BROKEN CONTRACT
Telling a paying user "close the session, the next one resumes" is a
PROMISE. You DON'T keep it. Failure is SILENT — the model says "nothing
to do" while the plan sits one directory away.
Silent wrong is WORSE than loud wrong.
FIX IT
Pick one. ANY of these works:
(a) Save plans to the PROJECT's .claude/plans/ — co-located, discoverable.
(b) Inject the latest plan path into the next session's system context.
The harness ALREADY KNOWS the cwd → project mapping.
(c) Auto-load ~/.claude/plans/<latest-by-mtime>.md alongside MEMORY.md.
(d) At MINIMUM, document the pickup protocol in the system prompt so the
model checks the right paths before falling back to git.
You're already doing (c) for MEMORY.md. Do it for plans. It's ONE LINE.
REPRO
- Approve a plan via ExitPlanMode.
- End session.
- Fresh session, same cwd. Say "pick up last session."
Expected: resumes.
Actual: "nothing pending."
ENV
- Claude Code, Windows 11
- Model: claude-opus-4-7[1m]
- Plan file:
~/.claude/plans/streamed-purring-mist.md(~300 lines, approved)
WHAT I WANT
Stop telling users to close sessions until pickup works.
Make the harness surface what the harness saves.
Each release feels like a downgrade. FIX IT.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗