claude-code - 💡(How to fix) Fix [BUG] Uppercase German umlauts (Ä, Ö, Ü) silently dropped in chat input on Linux/WezTerm [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#54936Fetched 2026-05-01 05:50:33
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Timeline (top)
labeled ×3commented ×1

Error Message

Error Messages/Logs

None — characters are silently swallowed with no error output.

Code Example

None — characters are silently swallowed with no error output.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

When typing uppercase German umlauts (Ä, Ö, Ü) via Shift+umlaut key into the Claude Code chat input on Linux/WezTerm, the characters are silently dropped — nothing appears in the input field. Lowercase umlauts (ä, ö, ü) work correctly and Caps-Lock+Umlauts work.

What Should Happen?

Uppercase German umlauts typed via Shift+umlaut (Ä, Ö, Ü) should appear in the Claude Code input field, identical to how they work in Alacritty on the same machine.

Error Messages/Logs

None — characters are silently swallowed with no error output.

Steps to Reproduce

  1. Launch Claude Code in WezTerm on Linux (Wayland/Hyprland)
  2. At the chat input prompt, type ä, ö, ü → characters appear correctly ✅
  3. Type Ä (Shift+ä), Ö (Shift+ö), Ü (Shift+ü) → nothing appears ❌

Isolation steps already performed:

  • Verified WezTerm sends correct UTF-8 bytes outside Claude Code using Python raw input reader: Ä = c3 84, Ö = c3 96, Ü = c3 9c (all correct)
  • Same machine, same locale, same shell: Ä/Ö/Ü work correctly in Claude Code when using Alacritty instead of WezTerm → confirms the issue is WezTerm + Claude Code specific, not locale/OS

Tried without success:

  • config.enable_kitty_keyboard = true / false
  • config.use_ime = false
  • TERM=wezterm (explicit)
  • LC_ALL=de_DE.UTF-8 explicitly exported
  • LANG=de_DE.UTF-8 LC_ALL=de_DE.UTF-8 claude (env prefix on launch)

Related issues checked that do NOT match this bug:

  • #38842 — Shift+letter as lowercase in xterm (normal letters, different terminal)
  • #17400 — Kitty protocol issues with German keymap on Ghostty (different terminal)
  • #14131 — Umlauts dropped in Claude's output, not input
  • #43429 — Key events from uinput virtual keyboards dropped (different input source)

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

2.1.123

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Other

Additional Information

Regression: first time using WezTerm, previously used Alacritty where it works. Terminal/Shell: WezTerm, zsh, TERM=wezterm, LANG=de_DE.UTF-8

The issue is specifically Shift+umlaut combinations. Regular Shift+ASCII letters (A, B, C...) work fine. Only Shift+ä/ö/ü (producing Ä/Ö/Ü) are affected. This suggests Claude Code's input handler handles the Shift modifier correctly for ASCII but fails for multi-byte UTF-8 characters that require Shift.

extent analysis

TL;DR

The issue can be resolved by investigating and adjusting the input handling in Claude Code to correctly process Shift+umlaut key combinations for uppercase German umlauts (Ä, Ö, Ü) in WezTerm on Linux.

Guidance

  • Investigate Claude Code's input handler to ensure it correctly handles Shift modifier for multi-byte UTF-8 characters.
  • Verify that WezTerm is sending the correct UTF-8 bytes for Shift+umlaut combinations, which has already been confirmed.
  • Check for any existing issues or pull requests in Claude Code that address input handling for non-ASCII characters.
  • Consider testing with other terminals or environments to isolate if the issue is specific to WezTerm or a more general problem with Claude Code's input handling.

Example

No specific code example can be provided without more details on Claude Code's internal implementation, but the fix likely involves adjusting the input handling logic to correctly interpret Shift+umlaut key presses.

Notes

The issue seems specific to the combination of WezTerm and Claude Code, and the fact that lowercase umlauts work correctly while uppercase do not suggests a specific problem with handling Shift+umlaut key combinations. The solution may involve updating Claude Code to better handle these specific key combinations.

Recommendation

Apply a workaround or fix to Claude Code's input handling to correctly process Shift+umlaut combinations, as the issue appears to be related to how Claude Code interprets these specific key presses in WezTerm.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Uppercase German umlauts (Ä, Ö, Ü) silently dropped in chat input on Linux/WezTerm [1 comments, 2 participants]