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.
- 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. Global rules are more reliable than conversational reminders: ~/CLAUDE.md persists across every project and session. (The same file where ground truth rules for AI audits belong.)
| OS | Path |
|---|---|
| macOS | /Users/yourname/CLAUDE.md |
| Linux | /home/yourname/CLAUDE.md |
| Windows | C:\Users\yourname\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, not Claude’s — that’s the right moment to run /retro 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
- Skills vs Scripts: When to guide AI judgment vs lock down behavior