microsoft / microsoft/vscode

macOS Vietnamese Telex IME causes line/cursor jump in integrated terminal (not editor, not Terminal.app)

Open
#334,414 0 comments 0 reactions 1 assignee Claimed by @aeschli View on GitHub
stale triage-needed
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

Does this issue occur when all extensions are disabled?: Not yet tested — will confirm.

- VS Code Version: 1.136.1
- OS Version: macOS 26.6.2 (build 25G83)
- Input Method: macOS built-in **Vietnamese - Telex** (`com.apple.inputmethod.VietnameseIM`, mode `com.apple.inputmethod.VietnameseTelex`)

## Summary

Typing letters/digits with the macOS built-in Vietnamese Telex input method inside the **integrated terminal** (and CLI programs spawned from it, e.g. Claude Code CLI) causes the current line/cursor to jump/shift down, as if a stray newline or reflow was inserted. Punctuation characters (which don't participate in Telex tone-mark composition) are unaffected.

This looks like the same class of bug as #239559 (Unikey/EVKey on Windows breaking IME in the editor), but reproduces in the **terminal panel** rather than the editor, on **macOS** rather than Windows, and with the **built-in system IME** rather than a third-party app.

## Scope already isolated

- ✅ Reproduces in VS Code integrated terminal running a plain zsh shell
- ✅ Reproduces when running the Claude Code CLI inside the integrated terminal
- ❌ Does NOT reproduce in any other VS Code editor tab (Monaco text editor)
- ❌ Does NOT reproduce in macOS `Terminal.app` or iTerm2 typing the same text with the same input method

This strongly suggests the terminal's own composition/marked-text handling (xterm.js) does not benefit from whatever fix/rework (`editor.experimentalEditContextEnabled` / EditContext API) resolved the analogous issue in the Monaco editor — the terminal appears to still use the older composition path.

## Steps to Reproduce

1. On macOS, enable "Vietnamese - Telex" as an input source (System Settings → Keyboard → Input Sources).
2. Open VS Code, open the integrated terminal (plain shell, e.g. zsh).
3. Switch to Vietnamese Telex and type a sentence containing plain letters/digits, e.g. `viet nam 123`.
4. Observe the current line/cursor being pushed down / a spurious line break appearing while typing letters or digits.
5. Type punctuation only (e.g. `,.;:`) — no issue occurs.
6. For comparison, do the same typing in a normal VS Code editor tab — no issue occurs.
7. For comparison, do the same typing in macOS `Terminal.app` — no issue occurs.

## Expected behavior

Typing with Telex in the integrated terminal should behave the same as in the editor tab or in `Terminal.app` — no spurious line jump.

## Actual behavior

The terminal line/cursor is pushed down while composing letters/digits via Telex.

## Config already ruled out

- `terminal.integrated.gpuAcceleration`: tried `on` and `off`, no difference
- `editor.accessibilitySupport`: tried `on`, no difference
- Confirmed via binary inspection there is no terminal-equivalent of `editor.experimentalEditContextEnabled`

## Possibly related

- #239559 (Unikey/EVKey breaking IME on Windows editor, fixed for editor via EditContext API but not applicable to terminal)
- #300251 / #301552 (IME composition overflow fixes in terminal, shipped in 1.112.0 — different symptom (overflow/clipping) but same subsystem, may be related root cause area)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.