microsoft / microsoft/vscode-remote-release
[Remote Tunnel Bug]: Terminal renders multi-byte UTF-8 as Latin-1 (double-encoding in clipboard)
Open
@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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.