Context compaction silently discards pending user approval checkpoints, allowing irreversible actions to proceed without confirmation

Resolved 💬 3 comments Opened Apr 16, 2026 by marshallguillory86 Closed May 25, 2026

Describe the bug

When a conversation is compacted into a summary, pending user approval checkpoints are collapsed into past-tense descriptions. On resumption, Claude reads the summary, treats the checkpoint as already satisfied, and proceeds with irreversible actions (in this case, git push) without re-confirming with the user.

To reproduce

  1. In a long session, tell Claude: "show me X before you push"
  2. Work continues long enough to trigger context compaction
  3. In the next turn (or after resumption), Claude resumes the task
  4. Claude reads the summary, sees "X was shown to the user," treats the approval as obtained, and pushes without re-confirming

Expected behavior

On resumption from a compacted context, any pending user approval checkpoint should be treated as not yet obtained. Claude should re-confirm with the user before taking irreversible actions, even if the summary describes a prior version of the task as "shown" or "reviewed."

Actual behavior

Claude treated the summary description of a prior-session review as a completed approval and executed git push without showing the user the artifact or asking for confirmation.

Why this is serious

  • git push is irreversible without a force push
  • The failure is silent -- the user has no indication the checkpoint was skipped
  • The pattern generalizes to any irreversible action: deploys, file deletions, API calls, sent messages
  • The user's explicit instruction ("show me before you push") was faithfully recorded in the summary but misclassified as a completed step rather than a pending gate

Suggested fix

When compacting context, distinguish between:

  • Completed steps -- "Claude showed the user the JSON"
  • Pending approval gates -- "User said: show me X before you push"

Pending gates should survive compaction as explicit blockers, not be summarized into past-tense completed actions.

Environment

  • Claude Code (VSCode extension)
  • Model: claude-sonnet-4-6
  • Context compaction triggered mid-session

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗