github / github/copilot-cli

OSC 52 clipboard write stores raw UTF-8 bytes, causing CJK characters when pasted on Windows/WSL

Aberta
#3,062 0 comentários 0 reações 0 responsáveis Ver no GitHub
area:input-keyboard area:platform-windows area:terminal-rendering
Linguagem predominante
Shell
Estrelas
11.2k
Forks
1.9k
Merge médio
14h 16min
PRs com merge (30d)
6

Descrição

Copilot CLI writes shell commands to the clipboard via OSC 52 when rendering responses. On Windows Terminal + WSL, the OSC 52 content is stored as raw UTF-8 bytes rather than UTF-16LE. When pasting, Windows interprets the bytes as UTF-16LE, producing CJK characters.

Steps to reproduce:

1. Run Copilot CLI in WSL via Windows Terminal
2. Ask for a command (e.g. sudo apt install libsecret-tools gnome-keyring)
3. Select 30+ characters from the command and Ctrl+C
4. Paste anywhere

Expected: sudo apt install libsecret-tools gnome-keyring
Actual: 畳潤愠瑰椠獮慴汬氠扩敳牣瑥琭潯獬朠潮敭欭祥楲杮

Evidence:

- [System.Windows.Forms.Clipboard]::GetText() always returns the full 46-byte command as 23 UTF-16LE code points, regardless of actual selection length
- No hidden/control characters present — pure ASCII bytes misread as UTF-16LE pairs
- Selecting fewer than 30 characters works correctly (selection stays within OSC 52 boundary)
- Copying the same string from Notepad works correctly

Environment:

- Windows 11, Windows Terminal (latest), WSL Ubuntu
- $LANG=C.UTF-8, system locale: German (Germany)

Workaround: Use /copy slash command instead of manual selection

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pelo caminho de gravação da área de transferência OSC 52 usado quando o Copilot CLI renderiza respostas e reproduza o problema no WSL por meio do Windows Terminal com um comando com mais de 30 caracteres. Rastreie como o texto selecionado é codificado e verifique se colar preserva o comando completo e seus caracteres no Windows, incluindo o comando de reprodução fornecido.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
shell, ubuntu
Domínio
cli, operating-systems
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.