Conflicting system-reminders allow plan-mode bypass when Auto mode is also active

Resolved 💬 3 comments Opened Apr 27, 2026 by korya Closed May 1, 2026

Problem

When the harness re-enters plan mode while Auto mode is also active, both reminders are emitted in the same model turn and each claims to override the other. The model has no deterministic way to choose, which can lead to plan-mode being silently bypassed (the model edits files when the user expected planning only).

Reproduction

  1. Activate Auto mode at some point in the session.
  2. User invokes plan mode (or the harness re-enters it after an \ExitPlanMode\ cycle).
  3. User then sends an instruction that sounds like a directive (e.g. \"Now let's switch to X\").

In the next model turn, the harness emits both of these system-reminders:

\\\`

Re-entering Plan Mode

... Plan mode is active. The user indicated that they do not want you to execute yet -- you MUST NOT make any edits ...
This supercedes any other instructions you have received.
\\\`

\\\`

Auto Mode Active

  1. Execute immediately — Start implementing right away.
  2. Prefer action over planning — Do not enter plan mode unless the user explicitly asks. When in doubt, start coding.

\\\`

Each reminder asserts override, and the order in which they're rendered is the only signal between them.

Expected behavior

Either:

  • Plan mode should clear Auto mode (or vice-versa) deterministically when re-entered, so only one reminder is in effect, or
  • The harness should not emit both reminders in the same turn, or
  • One reminder should explicitly take precedence over the other, with that precedence documented in both texts.

Impact

The model can edit files while the user reasonably expects plan-mode protection. Recovery requires noticing the unintended writes and reverting them. In my session this caused 3 files to be modified before I caught it.

Environment

  • Claude Code CLI
  • Model: Opus 4.7 (1M context)

View original on GitHub ↗

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