[DOCS] VS Code: Korean/CJK IME composing text appears below the prompt — caused by VS Code Modern UI (workaround inside) / 한글 조합 중 글자가 한 줄 아래에 보임
Documentation Type
Missing documentation (feature not documented)
Documentation Location
https://code.claude.com/docs/en/troubleshooting
Section/Topic
Troubleshooting → next to "Garbled or corrupted text in an editor's integrated terminal"; Terminal configuration → /terminal-setup for VS Code
Current Documentation
The Troubleshooting page covers garbled text in editor terminals (GPU renderer → terminal.integrated.gpuAcceleration: "off" via /terminal-setup), but nothing covers IME composition text being drawn on the wrong row, and no page mentions VS Code's workbench.experimental.modernUI.
What's Wrong or Missing?
In the VS Code integrated terminal (bottom panel), the in-progress (composing) Korean syllable is drawn about half a row below Claude Code's prompt caret, overlapping the next line. It commits to the right place, but typing Korean is hard to follow.
The cause is not Claude Code. It is VS Code's experimental Modern UI (workbench.experimental.modernUI, VS Code 1.134+). The setting's code default is false, but it is registered with experiment: {mode: "auto"}, so VS Code turns it on for some machines through an A/B experiment. That is why it shows up on one Mac and not on another with identical settings.
With Modern UI on, VS Code applies these rules to the bottom-panel terminal:
.modern-ui.monaco-workbench .part.panel .pane-body.integrated-terminal .xterm{top:0;bottom:auto;padding-block:var(--vscode-spacing-size80)}
.modern-ui.monaco-workbench .part.panel .pane-body.integrated-terminal .xterm .xterm-helpers{top:var(--vscode-spacing-size80)}
The bundled xterm.js appends .xterm-helpers (composition view + IME textarea) inside .xterm-screen, so it already moves down with the padding. The extra top: 8px shifts only the IME overlay 8px below the caret row. Upstream report: microsoft/vscode#332671 ("Turning off workbench.experimental.modernUI makes the problem go away").
Claude Code itself positions the cursor correctly. Measured in a pty + pyte terminal emulator, 2.1.283 leaves the real terminal cursor exactly on the caret cell in every mode tested (fullscreen, tui: default, CLAUDE_CODE_NATIVE_CURSOR=1, CLAUDE_CODE_ACCESSIBILITY=1, --ax-screen-reader). Changing the terminal font (e.g. D2Coding) or terminal.integrated.gpuAcceleration does not help.
Earlier Korean IME reports in this repo (#38517 and its duplicates) are closed as fixed in 2.1.84, so users who hit this new VS Code cause end up on stale answers.
Environment: Claude Code 2.1.283 ("tui": "fullscreen"), VS Code 1.137.0 (terminal in the bottom panel), macOS 26 (Darwin 25.6), macOS Korean 2-Set IME.
Suggested Improvement
Add an entry next to "Garbled or corrupted text in an editor's integrated terminal" on the Troubleshooting page, for example:
Korean, Japanese, or Chinese input appears below the prompt in VS Code If text you are composing with an IME appears below the prompt line in the VS Code integrated terminal, VS Code's experimental Modern UI is shifting the terminal's IME overlay (VS Code 1.134+, microsoft/vscode#332671). Add"workbench.experimental.modernUI": falseto your VS Code user settings, or searchmodernUIin Settings and uncheck it, then reload the window. This restores the classic VS Code layout. To confirm the cause first, run Terminal: Move Terminal into Editor Area and type again: the offset only happens in the bottom panel.
Optionally, since /terminal-setup already writes VS Code settings (gpuAcceleration, mouseWheelScrollSensitivity), it or /doctor could offer this setting when running inside VS Code 1.134+ with Modern UI enabled.
한국어 요약
VS Code 1.134 이상에서 Claude Code에 한글을 칠 때 조합 중인 글자가 입력 줄 아래에 보이면 VS Code 실험 기능 Modern UI 때문입니다. VS Code 사용자 설정(settings.json)에 "workbench.experimental.modernUI": false를 추가하면 해결됩니다. 설정 화면에서 modernUI를 검색해 체크를 해제해도 됩니다. Claude Code 설정이나 글꼴은 바꿀 필요가 없습니다.
Impact
Medium - Makes feature difficult to understand
Additional Context
- microsoft/vscode#332671: same symptom on macOS Korean 2-Set, VS Code 1.134.0; fixed by turning off Modern UI (open)
- microsoft/vscode#331754: related report with the Windows Korean IME, VS Code 1.134.0 (open)
- Related closed Claude Code issues: #38517, #33460, #21660 (a Claude-side cursor bug fixed in 2.1.84; different cause)
- To check whether a Mac is in the experiment (
true= Modern UI turned on by the experiment):
sqlite3 -readonly "file:$HOME/Library/Application Support/Code/User/globalStorage/state.vscdb?immutable=1" \
"SELECT value FROM ItemTable WHERE key='memento/experiment.service.memento';" \
| grep -o '"config.workbench.experimental.modernUI":[a-z]*'