Context compaction silently discards pending user approval checkpoints, allowing irreversible actions to proceed without confirmation
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
- In a long session, tell Claude: "show me X before you push"
- Work continues long enough to trigger context compaction
- In the next turn (or after resumption), Claude resumes the task
- 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 pushis 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗