Skip to content
Ben Peetermans

Ben Peetermans

Builder. 20 years shipping for the web.

Let's talk
Claude Code
Claude Code

Why Claude Code Keeps Saying 'Next Session' and How to Stop It

Claude Code's compaction awareness is leaking into execution as progress gating. A single rule in ~/CLAUDE.md fixes it.

Why Claude Code Keeps Saying 'Next Session' and How to Stop It

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

PatternWhat it sounds likeWhy it’s a problem
”Good session”Session wrap-upImplies stopping was part of the goal
”Let’s do X next session”Handoff planningReframes in-scope work as future work
”Ready to pause?”Courtesy promptInterrupts momentum you didn’t ask to break
”Fresh session”Compaction-aware planningUseful 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:

VersionDateRelevant change
v2.1.78Mar 17Improved memory usage and startup time when resuming large sessions
v2.1.83Mar 25Fixed background subagents becoming invisible after context compaction
v2.1.84Mar 26Added idle-return prompt nudging users after 75+ minutes to /clear
v2.1.85Mar 26Fixed /compact failing when conversation too large; fixed autocompact thrash loop
v2.1.89Apr 1Fixed 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
  • 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.)

OSPath
macOS/Users/yourname/CLAUDE.md
Linux/home/yourname/CLAUDE.md
WindowsC:\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: