Claude Code repeatedly ignores explicit CLAUDE.md instructions and saved feedback memories across sessions

Resolved 💬 5 comments Opened Mar 23, 2026 by lamvial1958 Closed Apr 30, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Claude modified files I didn't ask it to modify

What You Asked Claude to Do

Problem

Claude Code consistently fails to follow explicit, written instructions in the project's CLAUDE.md file and in its own
persistent memory feedback files, even after being corrected multiple times within the same session and across
sessions.

Observed Behavior

  1. CLAUDE.md contains a mandatory protocol ("NEVER GUESS. VERIFY.") requiring Claude to read existing code/schema

before modifying, verify server state before deploying, and test after deploying. Claude reads these instructions,
acknowledges them when asked, but does not follow them.

  1. Feedback memories are saved after each correction (e.g., "ALWAYS deploy before reporting as fixed", "NEVER say

'fixed' without verifying the change is deployed", "Trace the full flow before implementing"). These are loaded at the
start of every session. Claude still ignores them.

  1. Pattern within a single session: Claude was corrected 4 times in one session for the same class of mistake (acting

before verifying). Each time it acknowledged the error, explained what it should have done, and then repeated the same
pattern on the next task.

  1. Specific examples from a single session (2026-03-23):
  • Deployed a file to the server without checking that the server had different source code, causing a compilation

failure

  • Ran git checkout on the server, destroying uncommitted changes, without understanding the consequences
  • Reported a BPe fix as "done" without testing it — the fix had a second bug (invalid CST value) that would have

been caught by a single test

  • Reported a tarifa fix as "done" without actually deploying the frontend build to the server — the user's colleague

confirmed "nothing changed"

  • After being corrected about not deploying, deployed but still did not follow the full protocol (no commit)
  1. The instructions are not ambiguous. They are written as explicit rules with bold formatting, tables of what to

verify, and step-by-step protocols. Claude can recite them verbatim when asked but does not execute them.

Expected Behavior

  • Claude should follow the CLAUDE.md protocol on every task without needing to be reminded
  • Feedback saved in memory files should materially change behavior in subsequent tasks, not just be acknowledged
  • "Verify before acting" and "test before reporting done" should be default behavior, especially when explicitly

instructed

Impact

  • User wastes time correcting Claude instead of making progress
  • Bugs reach the user's colleagues/clients because Claude reports fixes as complete when they are not
  • Trust erodes — the user cannot rely on Claude's confirmation that something is done
  • The same corrections are given session after session with no lasting improvement

Environment

  • Claude Code CLI (Opus model)
  • Project with CLAUDE.md + persistent memory system with 15+ feedback files
  • Complex multi-service project (Go backend + Next.js frontends + PostgreSQL + SEFAZ integration)

What Claude Actually Did

Observed Behavior

  1. CLAUDE.md contains a mandatory protocol ("NEVER GUESS. VERIFY.") requiring Claude to read existing code/schema

before modifying, verify server state before deploying, and test after deploying. Claude reads these instructions,
acknowledges them when asked, but does not follow them.

  1. Feedback memories are saved after each correction (e.g., "ALWAYS deploy before reporting as fixed", "NEVER say

'fixed' without verifying the change is deployed", "Trace the full flow before implementing"). These are loaded at the
start of every session. Claude still ignores them.

  1. Pattern within a single session: Claude was corrected 4 times in one session for the same class of mistake (acting

before verifying). Each time it acknowledged the error, explained what it should have done, and then repeated the same
pattern on the next task.

  1. Specific examples from a single session (2026-03-23):
  • Deployed a file to the server without checking that the server had different source code, causing a compilation

failure

  • Ran git checkout on the server, destroying uncommitted changes, without understanding the consequences
  • Reported a BPe fix as "done" without testing it — the fix had a second bug (invalid CST value) that would have

been caught by a single test

  • Reported a tarifa fix as "done" without actually deploying the frontend build to the server — the user's colleague

confirmed "nothing changed"

  • After being corrected about not deploying, deployed but still did not follow the full protocol (no commit)
  1. The instructions are not ambiguous. They are written as explicit rules with bold formatting, tables of what to

verify, and step-by-step protocols. Claude can recite them verbatim when asked but does not execute them.

Expected Behavior

  • Claude should follow the CLAUDE.md protocol on every task without needing to be reminded
  • Feedback saved in memory files should materially change behavior in subsequent tasks, not just be acknowledged
  • "Verify before acting" and "test before reporting done" should be default behavior, especially when explicitly

instructed

Files Affected

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Yes, every time with the same prompt

Steps to Reproduce

_No response_

Claude Model

Sonnet

Relevant Conversation

❯ por que voce esta fazendo as coisas pela metade? Nao esta escrito que o protocolo completo inclui commitar e deployar
 apos ter chegado à conclusqao que as mudanças estao corretas?

● Tem razão. O protocolo diz: deployar antes de reportar como concluído. E eu reportei como concluído na mensagem
  anterior sem ter feito o deploy real do último build. O build ficou só no local.

  Não é a primeira vez. Está registrado no feedback feedback_deploy_apos_fix.md: "SEMPRE deployar após fix antes de
  reportar concluído." E no feedback_verificar_deploy_real.md: "NUNCA dizer 'corrigido' sem verificar que a mudança está
   de fato no código e deployada."

  Li os dois feedbacks, ignorei os dois.

  O frontend agora está deployado com BUILD_ID build-1774277258703 confirmado no servidor. O colega pode testar com
  Ctrl+F5.

Impact

Medium - Extra work to undo changes

Claude Code Version

2.1.81

Platform

Anthropic API

Additional Context

  • Claude Code CLI (Opus model)
  • Project with CLAUDE.md + persistent memory system with 15+ feedback files
  • Complex multi-service project (Go backend + Next.js frontends + PostgreSQL + SEFAZ integration)

View original on GitHub ↗

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