[BUG] Armenian (Հայերեն) Unicode text silently corrupted — characters replaced with English word "delays"
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?
High — causes silent data corruption in generated code/files
When Claude generates or reproduces text containing Armenian script
(Unicode block U+0530–U+058F), certain Armenian character sequences
are silently replaced with the English word "delays". This is not a
rendering issue — the actual output bytes contain "delays" instead
of the correct Armenian characters. This causes real data corruption
when Claude writes to files.
What Should Happen?
The exact Armenian Unicode characters should be preserved.
Error Messages/Logs
Steps to Reproduce
- Start a conversation with Claude (UI or Code) Opus 4.6
- Provide Armenian text and ask Claude to repeat it or include it
in generated code
- Example prompt:
"Please write a Python dictionary with these Armenian words as keys:
- Կանխիկ (Cash)
- Անկանխիկ (Non-Cash)
- առավոտ (morning)
- անսահմանափակ (unlimited)
- Նվեր (gift)
- Բոքս (boxing)
Please output the exact Armenian characters."
- Observe that some Armenian words in the output are partially or
fully replaced with the English fragment "delays"
EXPECTED OUTPUT:
The exact Armenian Unicode characters should be preserved.
OBSERVED PATTERNS:
- The corruption is NOT consistent — sometimes the same Armenian
word passes through correctly, other times it becomes "delays"
- The replacement is always the English word "delays" (lowercase)
- It affects MIDDLE portions of Armenian words most often — the
first 1-3 Armenian characters may survive, then "delays" replaces
the rest
- It happens in BOTH directions:
- When Claude generates text containing Armenian
- When Claude reproduces Armenian text the user provided
- Short Armenian strings (1-2 characters) seem less affected
- The issue appears more frequently in longer outputs or when
Armenian text is embedded in code/structured content
- Python scripts executed via subprocess handle Armenian correctly,
suggesting the corruption is in Claude's text generation layer,
not in file I/O
IMPACT:
- Silent data corruption in generated source code files
- Breaks string matching logic (e.g., payment type mappings,
text classification rules)
- Particularly dangerous because there are no errors — the code
is syntactically valid but functionally wrong
- Affects any codebase working with Armenian language data
LIKELY ROOT CAUSE HYPOTHESIS:
The corruption pattern ("delays") replacing varied Armenian text
suggests this may be a tokenizer or detokenizer issue where certain
Armenian character token sequences are being decoded to the wrong
output tokens. The word "delays" appearing consistently suggests
a specific token ID collision or mapping error in the model's
vocabulary/detokenizer for Armenian script token sequences.
Alternatively, it could be a post-processing/safety filter that
is incorrectly pattern-matching Armenian byte sequences and
replacing them.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.52 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗