If you use Claude Code heavily, you’ve seen this:
- “Good session. Ready to pause?”
- “Let’s tackle the rest in a fresh session.”
- “This was a good stopping point.”
At first it feels harmless. Then it shows up in the middle of a multi-phase build, and suddenly your coding agent is trying to manage your schedule.
I have 1,200+ hours in Claude Code. Over the last two weeks, this pattern became impossible to ignore.
What the behavior looks like
| Pattern | What it sounds like | Why it’s a problem |
|---|---|---|
| “Good session” | Session wrap-up | Implies stopping was part of the goal |
| “Let’s do X next session” | Handoff planning | Reframes in-scope work as future work |
| “Ready to pause?” | Courtesy prompt | Interrupts momentum you didn’t ask to break |
| “Fresh session” | Compaction-aware planning | Useful near limits, annoying everywhere else |
None of these are catastrophic on their own. Across a long build, they add up. They create fake checkpoints you didn’t ask for. They shift Claude from execution mode into permission-seeking mode.
Why Claude is doing this
Between mid and late March 2026, Anthropic shipped a dense run of session-continuity changes to Claude Code. Twelve releases in three weeks, many touching compaction, resume, and session handling directly:
| Version | Date | Relevant change |
|---|---|---|
| v2.1.78 | Mar 17 | Improved memory usage and startup time when resuming large sessions |
| v2.1.83 | Mar 25 | Fixed background subagents becoming invisible after context compaction |
| v2.1.84 | Mar 26 | Added idle-return prompt nudging users after 75+ minutes to /clear |
| v2.1.85 | Mar 26 | Fixed /compact failing when conversation too large; fixed autocompact thrash loop |
| v2.1.89 | Apr 1 | Fixed autocompact detecting 3x refill cycles; fixed nested CLAUDE.md re-injection in long sessions |
The behavior is also well-documented in user reports. Issue #6159, “Agent Reliability: Claude Stops Mid-Task and Fails to Complete Its Own Plan/Todo List,” describes exactly this: Claude generates a multi-phase plan, completes phases 1-3, then stops and summarizes as if the job is done. Phases 4-6 sit unchecked on its own todo list. This is the same failure mode that makes fixing things in the right order so important. If Claude stops halfway through a remediation sequence, you’re left with a half-fixed codebase.
Claude didn’t suddenly learn memory. It got more aggressive about preparing for continuity before context pressure gets ugly. That’s genuinely useful, and post-compaction recovery is cleaner now, especially in longer sessions.
The problem is when that internal continuity logic leaks into normal execution as soft stop signals.
The problem: progress gating
I call this progress gating: when Claude interrupts momentum, suggests deferring already-scoped work, or frames continued execution as a separate decision you now need to make.
Helpful continuity: Save remaining TODOs before compaction. Preserve project state silently. Recover smoothly after context reset.
Progress gating: Suggest stopping when you didn’t ask. Reframe unfinished work as future work. Ask permission to continue work already in scope.
The problem isn’t memory. The problem is gating.
The fix: a global rule in ~/CLAUDE.md
I added one rule to my global ~/CLAUDE.md so Claude can still save context before compaction, but stops framing it as a stopping point.
Add this to ~/CLAUDE.md
Don't
- Never gate progress. Don’t suggest stopping, winding down, or deferring in-scope work to a future session. The user decides when to stop. Save context silently — don’t frame it as a stopping point.
Put it near the top, ideally inside a short “Golden Rules” section. (The same file where ground truth rules for AI audits belong.)
Get the location right, because this is where I had it wrong for months. Anthropic documents the personal, every-project scope as ~/.claude/CLAUDE.md, not ~/CLAUDE.md:
| Scope | Location | Applies to |
|---|---|---|
| User instructions | ~/.claude/CLAUDE.md | every project on your machine |
| Project instructions | ./CLAUDE.md or ./.claude/CLAUDE.md | that repo, shared with the team |
A bare ~/CLAUDE.md does work, but only by accident: Claude Code “reads CLAUDE.md files by walking up the directory tree from your current working directory” (Claude Code docs). So it loads for projects that sit under your home directory and silently does not for projects that do not. Mine live in /Applications/MAMP/htdocs, which is why the rule kept not applying and I assumed Claude was ignoring it.
Two things make the global file the right home for this rule. CLAUDE.md files are “loaded at the start of every conversation,” and a project-root CLAUDE.md “survives compaction: after /compact, Claude re-reads it from disk and re-injects it into the session.” A reminder you type into chat survives neither.
What a CLAUDE.md rule can and cannot do
One caveat worth stating plainly, because it is in Anthropic’s own troubleshooting page: “CLAUDE.md content is delivered as a user message after the system prompt, not as part of the system prompt itself. Claude reads it and tries to follow it, but there’s no guarantee of strict compliance.”
So this rule raises the odds. It is not a wall. When you need a wall, the docs point at a PreToolUse hook instead, which runs regardless of what Claude decides. That gap between guidance and enforcement is the same one behind why Claude Code ignores your CLAUDE.md.
The rule
Save the context. Don’t gate the progress.
Keep the compaction awareness. Keep the memory. Keep the handoff quality. Kill the soft stops.
When a session genuinely does end, by your choice and not Claude’s, that’s the right moment to run a retrospective and capture what actually happened before the specifics fade.
Related:
- Don’t Assume AI Fixes Things Properly: Another case where Claude’s defaults need overriding
- Why Claude Code Ignores Your CLAUDE.md: skills and prompts improve the odds, they don’t prevent violations
- Claude Code Hooks: the four events, and the hooks I run on every project
Sources
- Claude Code docs, How Claude remembers your project: CLAUDE.md scopes, load order, and what survives
/compact - Claude Code docs, Hooks: the enforcement layer when guidance is not enough
- Claude Code releases v2.1.78, v2.1.83, v2.1.84, v2.1.85, v2.1.89: the session-continuity run
- Issue #6159, “Agent Reliability: Claude Stops Mid-Task and Fails to Complete Its Own Plan/Todo List”