[BUG] AskUserQuestion tool_use input contains corrupted Korean syllables (confirmed at session-log level, not terminal rendering)
Description
During a Korean-language Claude Code session, the AskUserQuestion tool's input (question/option label/option description) was corrupted — individual Hangul syllables replaced with different but phonetically plausible syllables. Word boundaries and text length are mostly preserved; only syllables are substituted, sometimes producing non-words.
Confirmed at the raw session JSONL transcript level (~/.claude/projects/.../*.jsonl), inspecting the actual tool_use.input sent by the model — so this is NOT a terminal/Ink rendering bug (rules out wide-character width calculation) and NOT the clipboard latin-1 double-encoding bug (#79482, which corrupts on copy-out, not in the stored transcript).
Evidence (anonymized, placeholders substituted for internal names)
From tool_use.input.questions[0].question in the session log:
Corrupted: "정보 탭(항보A/항보B/항보C)를 로드하려럁 GET /api/v1/resource/{id} 단건 조회 API가 필요합니다. API 로문을 바를 상태 보이례 주실 수 있담까요? 없으이면 어리하게 가정할까요?" Likely intended: "정보 탭(항보A/항보B/항보C)를 로드하려면 GET /api/v1/resource/{id} 단건 조회 API가 필요합니다. API 스펙을 봐주실 수 있으실까요? 없으시면 어떻게 가정할까요?"
A second AskUserQuestion call ~5 minutes later in the same session shows the same corruption pattern (syllable substitution, non-word outputs).
Related to #78996 (Korean Hangul corruption in long sessions), but with two notable differences:
- Localized specifically to AskUserQuestion tool_use input, confirmed at the raw transcript level (ruling out rendering-layer causes)
- Occurred much earlier than the "30-60min+" pattern described in #78996 — first corruption appeared ~11 minutes into the session, second ~17 minutes in (session start to first corruption: 01:52:33 → 02:03:58 UTC)
Environment
- Claude Code CLI, VS Code integrated terminal (entrypoint: claude-vscode)
- Model: claude-sonnet-5
- Korean-language session
Steps to reproduce
- Run a Korean-language Claude Code session
- Trigger an AskUserQuestion call with Korean question/option text
- Inspect the raw tool_use input in the session JSONL log (~/.claude/projects/.../*.jsonl)
- Compare against the intended Korean phrasing
Expected: Korean text passed to AskUserQuestion should be generated/stored correctly.
Actual: Syllable-level substitution corrupts the text, sometimes producing non-words, appearing within ~11-17 minutes rather than requiring a 30-60min+ sustained session.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗