[Bug] v2.1.83: Kitty keyboard protocol causes raw escape sequences ([57376u) to appear in input on VS Code integrated terminal (Windows)
Summary
After updating from v2.1.83 (from v2.1.51), raw Kitty keyboard protocol escape sequences appear as literal text in the Claude Code input when using VS Code's integrated terminal on Windows.
Environment
- Claude Code version: 2.1.83 (issue did NOT occur in 2.1.51)
- OS: Windows 11 Pro (10.0.26200)
- Terminal: VS Code integrated terminal (xterm.js) with PowerShell
- Shell: PowerShell / Git Bash (MSYS2)
Steps to Reproduce
- Update Claude Code to v2.1.83
- Open VS Code's integrated terminal
- Launch
claude - Type any input — especially press the 変換 (Henkan/Convert) key or modifier keys
Observed Behavior
Raw escape sequences appear as literal text in the input field, e.g.:
[57376u[57376u [57376u[57376u[57376u[57376u[57376u
57376 corresponds to F13 in the Kitty keyboard protocol (ESC [ 57376 u). On Japanese keyboards, this is triggered by IME-related keys such as 変換 (VK_CONVERT).
Root Cause (Analysis)
It appears v2.1.83 began requesting the Kitty keyboard protocol from the terminal (via \e[>1u or similar). VS Code's integrated terminal (xterm.js) supports and responds to this request, sending Kitty-encoded key events. However, Claude Code does not fully handle all Kitty protocol sequences — specifically key events for functional keys like F13 (codepoint 57376) leak through as raw text into the input.
This did not occur in v2.1.51, confirming the regression was introduced between these two versions.
Workaround
- Use Windows Terminal (standalone) instead of VS Code's integrated terminal. Windows Terminal has
"compatibility.kittyKeyboardMode": falsewhich prevents these sequences. - Downgrade to v2.1.51.
Expected Behavior
Kitty keyboard protocol sequences should be fully handled internally and never appear as literal text in the user input.
4 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
This is a cross-platform regression in v2.1.83. The issue also occurs on macOS when switching Input Sources (languages). The Kitty keyboard protocol sequences (e.g., 57376u) are not being correctly parsed/consumed, causing them to leak as raw text in the terminal.
Confirming this regression. Shift+Tab stopped working in VS Code integrated terminal after upgrading from v2.1.81 to v2.1.83. Still works correctly in Windows Terminal.
Environment:
Repro:
Worked in v2.1.81 with the same VS Code version.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.