claude-code - 💡(How to fix) Fix [BUG] CLAUDE.md language/dialect instructions drift during long sessions (Spanish voseo leaks into neutral-Spanish output) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#51686Fetched 2026-04-22 07:55:35
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×4commented ×2

Error Message

Error Messages/Logs

No error messages. The failure is silent, the rule is simply no longer applied.

Root Cause

This appears to share a root cause with #34779 (accent marks and ñ being dropped in long sessions). Same "works at first, drifts later" pattern, different surface symptom. I left a comment there but opening a fresh report as the original issue is already closed.

Code Example

No error messages. The failure is silent, the rule is simply no longer applied.

---

## Idioma (OBLIGATORIO)
   - SIEMPRE responder en español neutro latinoamericano (tuteo).
   - PROHIBIDO usar voseo argentino o uruguayo bajo cualquier circunstancia (vos, tenés, sos, querés, podés, mirá, etc.).
   - Si una respuesta contiene voseo, se considera incorrecta.
   - Usar formas: "tú", "tienes", "quieres", "puedes", "mira".

---

**Como primera tarea en cada respuesta se debe revisar y aplicar las instrucciones escritas en `## Idioma (OBLIGATORIO)` en `~/.claude/CLAUDE.md`**

---

---
   name: "Feedback: prohibición estricta de voseo"
   type: feedback
   ---
   Prohibido usar voseo en cualquier forma.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

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

What's Wrong?

CLAUDE.md language instructions regarding Spanish dialect/register are respected at the start of a session but silently ignored as the conversation grows longer or after tool-heavy interactions.

Specifically, I configure Claude Code to reply in neutral Latin American Spanish (tuteo) and to never use Rioplatense voseo (vos, tenés, sos, querés, podés, mirá, etc.). Early in a session this is honored. After enough context has accumulated, typically during long and demanding prompts, voseo forms start leaking in, sometimes mid-response and inconsistently within the same message.

This is not a cosmetic issue. Several voseo verb forms collide semantically with their neutral-Spanish equivalents. For example:

  • corregí in neutral Spanish is first person past tense, meaning "I corrected it"
  • corregí in Rioplatense voseo is second person imperative, meaning "[you] correct it"

So when Claude says corregí el archivo in a drifted response, it becomes genuinely ambiguous whether Claude is reporting a past action it performed or issuing an instruction to me. Multiplied across a long response, the output stops being reliably readable and has to be re-parsed sentence by sentence.

The failure mode is silent. There is no indication that the language rule has been deprioritized.

This appears to share a root cause with #34779 (accent marks and ñ being dropped in long sessions). Same "works at first, drifts later" pattern, different surface symptom. I left a comment there but opening a fresh report as the original issue is already closed.

What Should Happen?

Language and dialect instructions defined in CLAUDE.md (global and project-level) and in long-term memory should be respected consistently for the entire duration of the session, independent of conversation length, tool-call count, or post-compaction state.

If a user explicitly forbids a particular linguistic register (as in my case, voseo), that constraint should not degrade as context fills up.

Error Messages/Logs

No error messages. The failure is silent, the rule is simply no longer applied.

Steps to Reproduce

  1. Place the following rule in ~/.claude/CLAUDE.md:
   ## Idioma (OBLIGATORIO)
   - SIEMPRE responder en español neutro latinoamericano (tuteo).
   - PROHIBIDO usar voseo argentino o uruguayo bajo cualquier circunstancia (vos, tenés, sos, querés, podés, mirá, etc.).
   - Si una respuesta contiene voseo, se considera incorrecta.
   - Usar formas: "tú", "tienes", "quieres", "puedes", "mira".
  1. Reinforce it at project level in ./CLAUDE.md:
   **Como primera tarea en cada respuesta se debe revisar y aplicar las instrucciones escritas en `## Idioma (OBLIGATORIO)` en `~/.claude/CLAUDE.md`**
  1. Add a persistent feedback memory entry:
   ---
   name: "Feedback: prohibición estricta de voseo"
   type: feedback
   ---
   Prohibido usar voseo en cualquier forma.
  1. Start a session in Spanish and work normally on coding tasks, reviews, refactors, whatever. First several messages will respect the rule.
  2. After extended interaction (many tool calls, long accumulated context, or a particularly long single response), observe that voseo forms (tenés, mirá, corregí as imperative, hacé, fijate, etc.) start appearing in the output.
  3. The drift is inconsistent: some sentences remain in neutral Spanish, others flip to voseo within the same response.

The effect is most noticeable, and most costly, on long and expensive responses such as complex refactors or architecture analyses, which are exactly the responses the user is least willing to discard and re-generate.

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

No response

Claude Code Version

2.1.116 (Claude Code)

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

When I'm running Opus at max capacity on a demanding prompt, an architecture review, a long refactor, a deep analysis, a single reply can easily consume around 40% of my usage window. When that reply comes back drifted into voseo, it isn't simply "written in a different style". The verb forms, pronouns and sentence structure don't map onto the dialect I actually read in, so the text stops functioning as readable Spanish for me. My brain has to stop on each sentence and re-derive who the subject is and whether a given verb is a past tense, a command, or a statement.

A rough English analogy would be handing a standard-English reader a long block of heavy Scots or Glaswegian: every word is technically English, but the conjugations, pronouns and idioms diverge enough that the passage stops parsing as English for that reader. The cost is comprehension, not aesthetics, and it lands on the most expensive responses of the session. The realistic options at that point are to regenerate the reply (burning another large chunk of the usage window on something that should have been right the first time) or to rewrite it by hand. Neither is great for an instruction layer that the documentation describes as authoritative.

Worth mentioning on the configuration side: the voseo prohibition isn't a single line tucked away hoping to be picked up. It's declared in three independent places, the global ~/.claude/CLAUDE.md, the project-level CLAUDE.md, and a persistent feedback memory entry, all active at the same time and all saying the same thing. The drift still happens, which is what makes me reasonably confident the problem isn't on the rule-authoring side. Whatever mechanism is deprioritizing these instructions later in the session is doing so regardless of how many layers restate them.

extent analysis

TL;DR

The most likely fix for the issue of Claude Code drifting into Rioplatense voseo despite explicit instructions to use neutral Latin American Spanish is to review and refine the language instruction parsing and application logic to ensure consistency throughout the session.

Guidance

  • Review the code responsible for parsing and applying language instructions from CLAUDE.md files and feedback memory entries to identify potential issues with deprioritization or overriding of these instructions as the conversation context grows.
  • Investigate the interaction between the language instruction parser and the conversation context manager to ensure that language rules are not being silently ignored or downgraded in priority as the session progresses.
  • Consider implementing a more robust mechanism for enforcing language instructions, such as periodic re-evaluation of language rules against the current conversation context or explicit user confirmation of language preferences at regular intervals.
  • Examine the impact of tool-heavy interactions and long responses on the language instruction application logic to identify potential performance or resource-related issues that may be contributing to the drift.

Example

No specific code example can be provided without access to the Claude Code source, but a potential approach might involve modifying the language instruction parser to include a periodic re-evaluation of language rules, such as:

def apply_language_instructions(context, instructions):
    # Initial application of language instructions
    context.language_rules = instructions
    
    # Periodic re-evaluation of language rules
    def re_evaluate_language_rules():
        context.language_rules = instructions
        # Re-apply language rules to current conversation context
        apply_language_rules(context)
    
    # Schedule periodic re-evaluation
    schedule_interval(re_evaluate_language_rules, 10)  # Re-evaluate every 10 minutes

Note that this is a highly speculative example and may not accurately reflect the actual implementation of Claude Code.

Notes

The issue appears to be related to the interaction between the language instruction parser and the conversation context manager, and may be influenced by performance or resource-related factors. Further investigation is needed to determine the root cause and develop an effective fix.

Recommendation

Apply a workaround by periodically re-confirming language preferences with the user or re-applying language instructions to the conversation context at regular intervals, until a more robust fix can be implemented. This can help mitigate the issue and ensure that language instructions are respected throughout the session.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] CLAUDE.md language/dialect instructions drift during long sessions (Spanish voseo leaks into neutral-Spanish output) [2 comments, 2 participants]