TAB key outputs raw Kitty escape sequence [57358u in VSCode integrated terminal
Status Fixed / completed
Maintainer reply None cached
Activity 2 comments · opened Mar 25, 2026 · 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 ↗