[BUG] Plan Mode restrictions are bypassed — Model performs write/execution operations while Plan Mode is active (regression in 2.1.83 / 2.1.84)

Open 💬 7 comments Opened Mar 27, 2026 by JhonHawk

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Plan Mode restrictions are bypassed: while Plan Mode is active, the model performs write and execution operations directly instead of staying in read-only mode and writing an implementation plan first.Actual behavior:The model immediately executes file edits, runs builds (pnpm build), linting (pnpm lint), git commits, API mutations, and other write/execution actions.
It completely ignores the Plan Mode system-reminder.
Only after some (or many) violating actions have already been performed does it sometimes belatedly write a partial plan and call ExitPlanMode.

This happens during normal usage — even without using any custom skill or slash-command.Regression details:Worked correctly (or the issue was minimal/non-existent) in Claude Code 2.1.81 and earlier.
The bug became prominent and consistent after:2.1.83: Added explicit Skill catalog to system prompt + moved deferred-tool logic to <system-reminder> (same bucket as Plan Mode).
2.1.84: Removed the top-level “Avoid over-engineering” rule.

Still present in the latest version 2.1.85.

What Should Happen?

Claude should respect Plan Mode’s read-only constraint at all times.
When Plan Mode is active, the model should: Only perform read-only operations (analyze files, fetch information).
Write a detailed implementation plan to the plan file.
Call ExitPlanMode and wait for user approval.
Only after explicit approval should it perform any write or execution operations (file edits, builds, git commits, API mutations, bash commands, etc.).

Error Messages/Logs

Claude should respect Plan Mode’s read-only constraint at all times.
When Plan Mode is active, the model should:  Only perform read-only operations (analyze files, fetch information).  
Write a detailed implementation plan to the plan file.  
Call ExitPlanMode and wait for user approval.  
Only after explicit approval should it perform any write or execution operations (file edits, builds, git commits, API mutations, bash commands, etc.).

Steps to Reproduce

Enable Plan Mode (via system reminder or CLI flag).
Start a normal coding task that requires changes (e.g. “fix this bug” or “add feature X”).
Claude begins working and immediately executes write operations instead of creating a plan first.
Observe that file edits, builds, linting, git commits, and/or API calls happen before any plan is written or ExitPlanMode is called.
(Optional but reproduces consistently on Opus 4.6) Use any workflow that involves multiple tools or a structured task.

Note: The bug occurs even without using any custom skill/slash-command — it happens on regular tasks.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.81

Claude Code Version

2.1.85

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Warp

Additional Information

Screenshot attached: Full bug report showing 8 write/execution actions (file edits, pnpm build, pnpm lint, git commit, Monday API mutation, etc.) performed while Plan Mode was explicitly active.
Regression: Worked correctly (or the issue was minimal/non-existent) in 2.1.81 and earlier. Became consistent starting in 2.1.83 and continues in 2.1.84 and the latest 2.1.85.
Root cause: Plan Mode is enforced only as a low-priority <system-reminder>. Recent prompt changes (explicit skill catalog + removal of “Avoid over-engineering” rule) increased the salience of workflow/tool instructions, causing them to override the Plan Mode constraint.
Suggested fix: Enforce Plan Mode at the tool permission layer (hard block on Edit, Write, Bash with non-read-only commands, etc.) instead of relying only on a system-reminder.

Environment Model: Claude Opus 4.6 (1M context)
CLI: Latest (2.1.85)
OS: macOS
Terminal: Warp
Plan Mode: Active via system-reminder

<img width="1235" height="1110" alt="Image" src="https://github.com/user-attachments/assets/b03241be-d759-4f4b-bdc5-303555a2a90d" />

View original on GitHub ↗

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