github / github/copilot-cli

IME composition causes window flickering/shaking on Windows

Open
#3,045 1 comment 0 reactions 0 assignees View on GitHub
area:input-keyboard area:platform-windows area:terminal-rendering
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

## Description

When typing CJK characters (Chinese/Japanese/Korean) using Windows IME in the Copilot CLI, the terminal window visibly flickers/shakes on each keystroke during IME composition.

## Steps to Reproduce

1. Open Copilot CLI in Windows Terminal
2. Switch to a CJK input method (e.g., Microsoft Bopomofo / Pinyin)
3. Start typing Chinese characters
4. Observe the terminal window shaking/flickering as the IME candidate window appears

## Expected Behavior

The TUI should not re-render/redraw the entire frame during IME composition events. The input area should remain stable while the user is composing characters.

## Actual Behavior

Every IME composition event triggers a full TUI re-render, causing visible window flickering that makes the CLI uncomfortable to use with CJK input methods.

## Environment

- OS: Windows 11
- Terminal: Windows Terminal
- PowerShell: 7.6.1
- Copilot CLI: 1.0.40-0
- IME: Microsoft Bopomofo (Traditional Chinese)
- Code Page: 65001 (UTF-8)

## Impact

This significantly degrades UX for CJK users and discourages use of the CLI in non-English languages.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in Copilot CLI on Windows Terminal with Microsoft Bopomofo or Pinyin input. Trace how IME composition events reach the TUI redraw path and verify that composition no longer triggers a full-frame re-render. Done means CJK composition remains visually stable while ordinary input continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, shell
Domain
cli, internationalization
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.