[MODEL] Non-Latin (Burmese) output corrupted during rapid sequential MCP generation, correct when generated in isolation

Open 💬 0 comments Opened Jul 11, 2026 by aungminhein-dev

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

Other unexpected behavior

What You Asked Claude to Do

Generate Burmese-language explanation notes for a batch of ~5+ questions via our MCP server, processing them sequentially (claim_task → get_generation_context → generate → save_generated_note per question).

What Claude Actually Did

  1. Processed 6 tasks in a continuous back-to-back loop (~3s between each), all in one session.
  2. For the 5 items generated inside the rapid loop, the Burmese output was corrupted: malformed conjunct clusters and nonsense words (e.g. wrote "စက်လြက်" where the correct word is "စကားလုံး" = "word").
  3. Also hallucinated numbers in the corrupted output — cited page "၄၉၉" (499) and year "၄၉၉၉" (4999), even though the correct page 104 was present in the input AND was submitted correctly in the structured page_reference field of the SAME response.
  4. Generated one more item in isolation ~90 seconds later (same topic, same source): this one came out as clean, fluent, correct Burmese with the correct page 104.
  5. All output was valid UTF-8 in every case — the corruption is semantically-wrong generated characters, not a byte-encoding/transport fault.

Net: identical task, same session, same model — corrupted when generated inside a rapid sequential loop, correct when generated in isolation.

Expected Behavior

Generated output quality should be consistent regardless of whether an item is produced inside a batch/sequential loop or in isolation. Burmese (and other complex non-Latin scripts) should render as correct, well-formed text in both cases, with no degradation as similar tool-call turns accumulate in a session.

Files Affected

- Claude Code version: 2.1.207 (Claude Code)
- Model: Fable, Opus 4.8, Sonnet 5
- OS: Windows + WSL2 (Linux)
- Integration: Claude Code as an MCP client over stdio transport, driving a custom MCP server (JSON-RPC → database). No file I/O in this path.

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Yes, every time with the same prompt

Steps to Reproduce

All six notes were generated by the same session within a 6-minute window, same topic, same clean source (English textbook, page 104). Items A–E were claimed back-to-back in a continuous loop (~3s apart); item F was generated in isolation after a ~90s pause.

Strongest tell — internal inconsistency inside a single generation: the structured page_reference the model submitted is correct (104) for every item, yet the garbled Burmese body text cites page ၄၉၉ (499) / year ၄၉၉၉ (4999). Correct value in the structured field + hallucinated value in the free-text of the SAME response rules out any encoding/transport explanation.

| # | question | claimed_at | page_reference (structured) | page in body | quality | verdict |
|---|---|---|---|---|---|---|
| A | 11591 | 18:07:25 | 104 | ၄၉၉ | 0.50 | garbled |
| B | 11594 | 18:08:22 | 104 | ၄၉၉ | 0.80 | garbled |
| C | 11597 | 18:09:08 | 104 | ၄၉၉ | 0.40 | garbled |
| D | 11600 | 18:10:01 | 104 | ၄၉၉၉ | 0.60 | garbled |
| E | 11603 | 18:10:57 | 104 | ၄၉၉ | 0.55 | garbled |
| F | 11606 | 18:13:22 (isolated) | 104 | ၁၀၄ | 1.00 | clean |

Garbled example (item A): "စာမျက်နှာ ၄၉၉ အရ Biodiversity ... စက်လြက် ..." — "စက်လြက်" is not a real word; intended "စကားလုံး" (word). Cites page 499 though page_reference=104.

Clean example (item F, isolated): "Edward O. Wilson က 'Biodiversity' ဟူသော အသုံးအနှုန်းကို ရေပန်းစားအောင် လုပ်ဆောင်ခဲ့သူဖြစ်သည်။ စာမျက်နှာ ၁၀၄ အရ ... ၁၉၈၅ ခုနှစ်တွင် ..." — fluent, correct page 104, correct year 1985.

Full machine-readable dump of all 6 rows (with complete bodies) attached as burmese_evidence.json. Every body is valid UTF-8 (verified with mb_check_encoding).

Claude Model

Opus

Relevant Conversation

Impact

Medium - Extra work to undo changes

Claude Code Version

2.1.207 (Claude Code)

Platform

Other

Additional Context

I did use claude code and other conding agents like: commandcode, open codes to do this feature. Primarily my goal is to use with my claude code subscription. During the development, I noticed that all other agents give me that correct Burmese text and the claude code gave corrupted datas. I was surprised. Cuz I know that normally claude api is good at responding burmese language. I tested multiple time and noticed that it works perfectly file while working on single question from my mcp. But when more than questions tries to work, the content get destroyed.

evidence.txt

View original on GitHub ↗