TAB key outputs raw Kitty escape sequence [57358u in VSCode integrated terminal
Resolved 💬 2 comments Opened Mar 25, 2026 by mindongdong Closed Mar 25, 2026
Bug Description
Pressing the TAB key inside Claude Code CLI running in VSCode's integrated terminal outputs the raw Kitty keyboard protocol escape sequence [57358u instead of performing the expected action. This makes Korean/English (한/영) input switching and general TAB usage extremely inconvenient.
The issue does not occur when running Claude Code in an external terminal (iTerm2).
Steps to Reproduce
- Open VSCode integrated terminal (zsh)
- Run
claude - Press the TAB key in the chat input
Expected: TAB functions normally (autocomplete, input method switch, etc.)
Actual: [57358u is inserted as raw text into the input
Environment
- OS: macOS 26.3 (Darwin arm64 25.3.0), Apple M4
- Claude Code: v2.1.83
- VSCode: 1.112.0 (Universal)
- Commit: 07ff9d6178ede9a1bd12ad3399074d726ebe6e43
- Electron: 39.8.0
- Chromium: 142.0.7444.265
- Node.js: 22.22.0
- Shell: zsh
- External terminal (iTerm2): Issue does NOT occur
What I've Tried (none resolved the issue)
CLAUDE_DISABLE_KITTY_KEYBOARD=1 claude— no effect in VSCode terminalTERM=xterm-256color claude— no effect- VSCode setting
"terminal.integrated.enableKeyboardProtocol": false— no effect - VSCode setting
"terminal.integrated.sendKeybindingsToShell": false— no effect
Additional Context
Ctrl+Cworks correctly after applyingCLAUDE_DISABLE_KITTY_KEYBOARD=1- Only TAB key is affected — the Kitty escape sequence
57358corresponds to the TAB key's Unicode codepoint in Kitty protocol - This started after a recent Claude Code version update
- Running Claude Code in iTerm2 (external terminal) works perfectly — this is specific to VSCode's integrated terminal keyboard protocol handling
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗