microsoft / microsoft/vscode-remote-release

[Remote Tunnel Bug]: Terminal renders multi-byte UTF-8 as Latin-1 (double-encoding in clipboard)

Open
#11,701 0 comments 0 reactions 1 assignee View on GitHub

@anthonykim1 is already working on this.

Since Jun 17, 2026.

Dominant language
Dockerfile
Stars
4.2k
Forks
469
Avg merge
1d 1h
Merged PRs (30d)
1

Description

VS Code version: 1.124.2
Extension: Remote Tunnels
OS (local): Ubuntu 24.04, Wayland
OS (remote): Ubuntu 24.04

Bug

In VS Code Remote Tunnel integrated terminal, multi-byte UTF-8 sequences are
rendered as individual Latin-1 code points. Bytes flow correctly to the shell
(bash receives correct input), but xterm.js displays each byte as a separate
character.

Clipboard copies of the garbled display produce double-encoded UTF-8.

Reproduction

On remote machine inside tmux (set-clipboard external):

printf 'test ● hello ❯ end' | tmux load-buffer -
tmux show-buffer | xxd | head
# Correct: e2 97 8f (●), e2 9d af (❯)

Check local clipboard after tmux copy:
wl-paste | xxd | head
# Garbled: c3 a2 c2 97 c2 8f (double-encoded ●), c3 a2 c2 9d c2 af (double-encoded ❯)

Terminal also visually displays â?? instead of ●.

Expected

Terminal renders UTF-8 sequences correctly. Clipboard contains e2 97 8f, not c3 a2 c2 97 c2 8f.

Notes

- Worked before ~June 10 2026
- tmux buffer bytes are correct — corruption introduced by VSCode's pty→xterm.js layer
- Does NOT reproduce in external terminal (ssh via gnome-terminal)

---

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.