Caps Lock key produces [57358u text in VS Code extension terminal (Kitty protocol conflict with macOS Korean IME)

Resolved 💬 3 comments Opened Apr 3, 2026 by bongborrrr Closed Apr 6, 2026

Bug Description

When using Claude Code inside the VS Code extension panel, pressing Caps Lock to toggle Korean/English input (macOS native IME switching) produces the text [57358u before switching the input method. This does not happen in the regular VS Code terminal or external terminal apps.

57358 is the Caps Lock key code in the Kitty keyboard protocol. The Claude Code extension panel appears to enable Kitty keyboard protocol internally, and this conflicts with macOS Caps Lock → Input Source switching.

Steps to Reproduce

  1. macOS with Korean input method enabled (System Settings → Keyboard → Input Sources → "Use Caps Lock to switch input source")
  2. Open Claude Code in VS Code extension panel (claudeCode.preferredLocation: "panel")
  3. Press Caps Lock to toggle Korean ↔ English input
  4. [57358u is typed into the input field each time

Expected Behavior

Caps Lock should toggle the input method without producing any visible text.

Actual Behavior

[57358u is inserted as text every time Caps Lock is pressed.

Environment

  • OS: macOS Darwin 24.6.0 (Apple Silicon)
  • VS Code extension: anthropic.claude-code-2.1.90-darwin-arm64
  • Input method: macOS built-in Korean 2-Set (com.apple.inputmethod.Korean.2SetKorean)

What I've Tried (no effect)

  • "terminal.integrated.keyboard.enableKeyboardProtocol": false in VS Code settings
  • "terminal.integrated.gpuAcceleration": "off" in VS Code settings
  • Restarting VS Code completely

These settings fix the issue for the regular VS Code terminal, but not for the Claude Code extension panel, suggesting the extension manages its own terminal instance with Kitty protocol enabled.

Workaround

Running claude from an external terminal app (Terminal.app, iTerm2) instead of the VS Code extension panel.

Suggestion

Provide an option to disable Kitty keyboard protocol in the Claude Code extension panel, or respect the VS Code terminal.integrated.keyboard.enableKeyboardProtocol setting.

View original on GitHub ↗

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