[DOCS] VS Code: Korean/CJK IME composing text appears below the prompt — caused by VS Code Modern UI (workaround inside) / 한글 조합 중 글자가 한 줄 아래에 보임

Status Open
Reported on v2.1.283
Maintainer reply None cached
Activity 0 comments · opened Sep 26, 2026

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": false to your VS Code user settings, or search modernUI in 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]*'

View original on GitHub ↗