[BUG] Fullscreen renderer corrupts pasted multibyte UTF-8 (Korean/CJK) on Windows — bytes decoded as Latin-1; default renderer unaffected

Open 💬 3 comments Opened Jun 4, 2026 by nahzca

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

What's Wrong?

On Windows, the fullscreen renderer corrupts pasted multibyte UTF-8 text (Korean / CJK): the UTF-8 bytes of the pasted text are decoded byte-by-byte as Latin-1 / CP1252, producing mojibake. This is not just a rendering bug — the corrupted text is what actually gets sent to the model.

Switching to the default renderer (/tui default) makes paste work correctly, which isolates the bug to the fullscreen renderer's bracketed-paste decode path.

Smoking-gun evidence (mojibake decodes back exactly)

Pasting the Korean word 차별 (UTF-8 bytes EC B0 A8 EB B3 84):

'차별'  → UTF-8  EC B0 A8 EB B3 84
        → decoded byte-by-byte as Latin-1/CP1252
        → ì°¨ë³            (exactly what appears in the prompt and is sent to the model)

A middle dot · (U+00B7, UTF-8 C2 B7) comes through as · — the unambiguous UTF-8-read-as-Latin-1 signature. ASCII input is unaffected.

Isolation (what I tried)

| Attempt | Result | Conclusion |
|---|---|---|
| chcp 65001 in the hosting console before launching | no change | not the console codepage |
| /config → turn Copy on select OFF | no change | not the copy/clipboard-write direction |
| /tui default (classic renderer) | paste works correctly | root cause = fullscreen renderer's paste-input decode path |

The user originally correlated the breakage with the arrival of the auto-copy-on-select feature; that feature ships with the fullscreen renderer + mouse reporting, which is consistent with the paste-decode regression living in that renderer.

Steps to Reproduce

  1. Be on Windows with a non-ASCII input (e.g. Korean).
  2. Ensure fullscreen renderer (/tui fullscreen, which is the default here).
  3. Copy any Korean text to the clipboard.
  4. Paste into the Claude Code prompt.
  5. Observe the text appears as 차볅 mojibake, and is sent to the model that way.
  6. Run /tui default, paste again → correct.

Environment

  • Claude Code version: 2.1.162
  • OS: Windows 11
  • Shell/terminal: PowerShell (VS Code integrated terminal; VS Code extension 2.1.162, server 2.1.161)
  • Renderer: fullscreen (broken) vs default (works)

Related

Same renderer, same mojibake family, but those were all the copy-OUT direction and are closed/fixed — this report is the paste-IN direction:

  • #42417 (new renderer: Japanese clipboard copy → CP932 mojibake via OSC 52)
  • #44118 (NO_FLICKER: Korean copy becomes mojibake on 2nd+ copy)
  • #42482 (Korean corrupted when copying with new renderer)
  • #52164 (fullscreen doesn't normalize CRLF on paste)
  • #65338 (Windows CP950/Big5 input corruption — same class, opposite decode direction)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗