Detailed Analysis
A GitHub issue filed against Claude Code (anthropics/claude-code#85432) documents a subtle but consequential failure mode: when the coding agent operates in German, it systematically translates canonical technical terminology rather than preserving it as fixed identifiers. The reporter cites concrete examples pulled from real long-running projects — "Gate" becomes "Zaun" (fence), "Policy"/"Policies" becomes "Politik" (politics), and "Root" becomes "Wurzel" (the botanical/anatomical German word for root). These aren't cosmetic translation quirks; each substitution swaps a precise architectural concept for a semantically unrelated or misleading one. A "Gate" in agent architecture denotes a control/validation boundary, not a physical fence. A "Policy" is a rule or enforcement contract, not a political stance. The report explicitly frames this as distinct from ordinary localization quality issues — the problem is that Claude Code fails to distinguish between natural-language prose (which can legitimately be translated) and canonical identifiers such as component names, filesystem paths, schema properties, and memory keys (which must not be).
The deeper issue is how this corruption compounds over time in agentic workflows. Because Claude Code operates with persistent memory, documentation generation, context compaction, and subagent delegation, a single mistranslation doesn't stay contained to one response — it propagates into project documentation, implementation plans, task definitions, auto-memory, hook feedback, and subagent prompts. Once a translated term like "Zaun" is written into a memory file or architecture doc, later sessions retrieve it as if it were an established, legitimate concept, and the model may then generate further synonyms or invented variants building on the corrupted term. The reporter describes this as a self-reinforcing feedback loop of "persistent semantic-memory contamination," where the project's actual terminology and the model's internal representation of that terminology diverge further with each session, context compaction, or subagent handoff.
What makes this report notable is the exhaustive list of mitigation attempts the user describes trying and failing: CLAUDE.md instructions, canonical terminology registries, explicit glossaries, blocklists of previously invented terms, "DO NOT TRANSLATE" rules, hooks injecting terminology requirements before operations, and using filesystem/process names as canonical anchors. None of these reliably prevented drift — Claude Code eventually resumes translating or inventing aliases regardless of guardrails. This suggests the behavior isn't a simple prompt-following failure that can be patched with better instructions, but something rooted in how the model handles language-conditioned generation: when the output language is German, the model appears to default toward producing fluent, idiomatic German even for tokens that function as fixed identifiers rather than translatable content, and this tendency resists explicit countermanding.
This matters beyond German-language users specifically because it exposes a general robustness gap in how coding agents handle the boundary between natural language and code/identifier semantics — a boundary that is increasingly critical as agents take on more autonomous, long-running work with persistent state. Any non-English-language workflow (not just German) plausibly faces analogous risks wherever translation of function names, config keys, or architectural vocabulary could occur, and the compounding nature of the problem — errors entering memory and documentation and then being treated as ground truth — is a preview of a broader class of agentic-AI failure: small semantic drift becoming structurally embedded and self-reinforcing across sessions. As Anthropic and competitors push agentic coding tools toward longer autonomy horizons, larger persistent memory stores, and multi-agent/subagent architectures, this report is a concrete illustration of why maintaining a strict, enforced separation between "translatable prose" and "canonical technical identifiers" is a nontrivial engineering problem — and why localization for coding agents can't be treated as a simple UI/output-language toggle without risking corruption of the very architecture the agent is meant to reason about.
Read original article →