anthropics / anthropics/claude-code
Caps Lock input-source switch double-flips (Hebrew ⇄ English) in Desktop app chat input
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
**Title:** Caps Lock input-source switch double-flips (Hebrew ⇄ English) in Desktop app chat input
**Component:** Claude Desktop app (built-in Claude Code chat input)
### Description
On macOS with two input sources (Hebrew + English) and the system setting **"Use the Caps Lock key to switch to and from ABC"** enabled, pressing Caps Lock inside the Claude Desktop app's chat input box switches the input source to English and *immediately back to Hebrew* — a single Caps Lock press results in a net no-op flicker, so I can't actually switch languages.
This works correctly in every other macOS app (Safari, Notes, native Terminal, etc.) — only the Claude Desktop app is affected.
### Root cause (suspected)
The chat input enables the Kitty keyboard protocol / enhanced keyboard reporting and captures **both** the Caps Lock keydown and keyup events. macOS's Caps Lock input-source switch fires on both, toggling twice (Heb → Eng → Heb). Normal apps only act on keydown. This is the same underlying issue as #38694 / #39188 / #38624, but manifesting as a *double language switch* rather than a leaked `[57358u` escape sequence, and it happens in the **Desktop app chat input**, not an external terminal.
### Steps to reproduce
1. macOS with two input sources where one is non-Latin (e.g. Hebrew + English/ABC).
2. System Settings → Keyboard → Input Sources → Edit… → enable **"Use the Caps Lock key to switch to and from ABC"**.
3. Set current input source to Hebrew.
4. Open the Claude Desktop app and focus the chat input.
5. Press Caps Lock once.
### Expected
Input source switches to English and stays there (as it does in every other app).
### Actual
Input source flips to English and instantly back to Hebrew — net no change. Language switching via Caps Lock is unusable in the app.
### Environment
- Claude Desktop app: 2.1.219
- macOS: 26.5.2 (build 25F84), Apple Silicon (arm64)
- Input sources: Hebrew + English (ABC)
- Setting: "Use Caps Lock key to switch to and from ABC" = ON
### Notes
- Affects any non-Latin input-source user who relies on Caps Lock switching (Hebrew, Arabic, Chinese, Japanese, Korean, Russian, etc.).
- Fix: the input should ignore the Caps Lock **keyup** event (act on keydown only), or exclude Caps Lock from Kitty-protocol capture so it passes through to the OS input-source switcher.
- Related: #38694, #39188, #38624, #39345, #61755, #55533
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. First verify the report against the repository's terminal-tool scope and reproduce it in the Claude Desktop chat input on macOS with Hebrew and English enabled; then trace the chat input's Caps Lock handling and Kitty keyboard protocol capture. Done means one Caps Lock press switches from Hebrew to English without switching back.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- desktop, internationalization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100