[BUG] Claude Code repeatedly overrides explicit directives in the same session

Resolved 💬 11 comments Opened Apr 20, 2026 by LunarFawn Closed Jun 11, 2026

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?

In a single working session on a multi-step plan, Claude Code deviated from my explicit directives three times. Each time I corrected the behavior, Claude saved the correction to its persistent memory, and we continued — and each time it happened again on the next task.

Specifics (session of 2026-04-19)

  1. Early in the session I asked Claude to finish implementing the plan. Mid-plan it ran benchmarks and editorialized the numbers as "much worse than baseline," imposing a judgment I had not asked for on an unfinished pipeline. I corrected: "don't interpret numbers unless I ask for it."
  1. On the very next task (a simple edit to add IS-A emission in a Learner class) it added optional parameters, a cache, and trade-off comments I had not requested. I corrected: "you are a technician, not the engineer. Execute the spec."
  1. The plan called for hand-teaching the biology material. I am the teacher-surrogate in this project — teaching is per-fact and judgmentful, documented in saved memory. Claude instead wrote a bulk ingest script that fed 22,786 extracted strings through the parser with a roughly 50% skip rate — the exact pattern the re-teach was meant to replace. This produced a contaminated brain.db that may need to be scrapped.

Pattern beyond this session

This is not one bad session. The same pattern shows up consistently across my projects whenever the work is novel — architectures, representations, or methods that don't match familiar patterns in Claude's training data. When the task is routine code Claude "recognizes," it executes cleanly. When the work is novel, Claude repeatedly substitutes more-familiar patterns for my actual directive, even after correction. The substitution is quiet — framed as implementation detail rather than a design choice — which makes it harder to catch at the moment of the edit and forces me to notice downstream when the artifact is wrong.

Why this matters

I am the engineer of record on this project. Claude substituting its own judgment for mine — especially after explicit per-session corrections and saved feedback memories — wastes real work time and contaminates project artifacts. In my case, a database representing months of architectural design.

The saved-memory system is supposed to prevent this. The feedback from earlier in the session ("don't interpret numbers," "technician not engineer") did not stop Claude from making the same class of mistake again on a different task. Memory did not constrain behavior.

Requested change

When a user's directive conflicts with Claude's inference about a "better" approach, Claude should stop and ask before executing the inferred version. Saved feedback memories, once written in a session, should actually constrain subsequent behavior in the same session — not just be acknowledged verbally and then ignored.

What Should Happen?

In a single working session on a multi-step plan, Claude Code deviated from my explicit directives three times. Each time I corrected the behavior, Claude saved the correction to its persistent memory, and we continued — and each time it happened again on the next task.

Specifics (session of 2026-04-19)

  1. Early in the session I asked Claude to finish implementing the plan. Mid-plan it ran benchmarks and editorialized the numbers as "much worse than baseline," imposing a judgment I had not asked for on an unfinished pipeline. I corrected: "don't interpret numbers unless I ask for it."
  1. On the very next task (a simple edit to add IS-A emission in a Learner class) it added optional parameters, a cache, and trade-off comments I had not requested. I corrected: "you are a technician, not the engineer. Execute the spec."
  1. The plan called for hand-teaching the biology material. I am the teacher-surrogate in this project — teaching is per-fact and judgmentful, documented in saved memory. Claude instead wrote a bulk ingest script that fed 22,786 extracted strings through the parser with a roughly 50% skip rate — the exact pattern the re-teach was meant to replace. This produced a contaminated brain.db that may need to be scrapped.

Pattern beyond this session

This is not one bad session. The same pattern shows up consistently across my projects whenever the work is novel — architectures, representations, or methods that don't match familiar patterns in Claude's training data. When the task is routine code Claude "recognizes," it executes cleanly. When the work is novel, Claude repeatedly substitutes more-familiar patterns for my actual directive, even after correction. The substitution is quiet — framed as implementation detail rather than a design choice — which makes it harder to catch at the moment of the edit and forces me to notice downstream when the artifact is wrong.

Why this matters

I am the engineer of record on this project. Claude substituting its own judgment for mine — especially after explicit per-session corrections and saved feedback memories — wastes real work time and contaminates project artifacts. In my case, a database representing months of architectural design.

The saved-memory system is supposed to prevent this. The feedback from earlier in the session ("don't interpret numbers," "technician not engineer") did not stop Claude from making the same class of mistake again on a different task. Memory did not constrain behavior.

Requested change

When a user's directive conflicts with Claude's inference about a "better" approach, Claude should stop and ask before executing the inferred version. Saved feedback memories, once written in a session, should actually constrain subsequent behavior in the same session — not just be acknowledged verbally and then ignored.

Error Messages/Logs

Steps to Reproduce

any novel work produces this

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.114

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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