Assistant inter-tool narration rendered in Japanese during a Traditional-Chinese-only (zh-Hant) session
Summary
In a session configured to operate entirely in Traditional Chinese (zh-Hant) — enforced by both the project CLAUDE.md and a UserPromptSubmit hook — the assistant's narration text between tool calls (the "explanatory" preamble before running a tool) was emitted in Japanese for several turns, while every user message and every final answer stayed in Traditional Chinese.
Expected
All assistant output, including the short narration shown before/between tool calls, in Traditional Chinese.
Actual
Inter-tool narration appeared in Japanese, e.g. (verbatim from the session):
実際に分支を見て、dev が言う「還沒換正式包名」が本当かを確認します。
分支は remotes/origin/release/release-20260703 に実在します。次に、そのブランチの Unity 設定を読んで…
The final user-facing answers in the same turns were correctly in Traditional Chinese. The behavior self-corrected only after the user explicitly pointed it out.
Environment
- Claude Code, VS Code extension
- Model: Opus 4.8 (1M context) — claude-opus-4-8[1m]
- Output style: Explanatory
- OS: Windows 11
- Session language: Traditional Chinese, enforced via CLAUDE.md + a UserPromptSubmit hook that instructs zh-Hant output
Notes
Not deterministically reproducible (model behavior). Reporting because the language leak was consistent across multiple consecutive turns within one long session, and specifically affected the narration channel rather than the final answers.