-
Notifications
You must be signed in to change notification settings - Fork 194
Description
Description
When running agent deck with Claude Code inside Ghostty terminal, the Shift key stops producing capital letters entirely. Instead, pressing Shift triggers what appears to be a terminal-native selection mode (white highlight), rather than agent deck's normal copy-mode (yellow highlight).
Steps to Reproduce
- Open Ghostty terminal
- Start an agent deck session with Claude Code
- Try to type capital letters (Shift + any letter key)
Expected: Capital letter is typed
Actual: A white selection/highlight mode is triggered instead
Works Correctly In
- Terminal.app (macOS default) — Shift produces capital letters normally in agent deck
- Agent deck without Claude Code — Shift works fine in Ghostty for normal typing
Likely Cause
Ghostty supports the kitty keyboard protocol by default, while Terminal.app does not. When Claude Code starts inside agent deck, it likely queries the terminal for keyboard protocol support. Ghostty responds affirmatively, and something in agent deck's key handling layer then misinterprets bare Shift key presses as a selection trigger rather than a modifier for letter keys.
The kitty keyboard protocol can report modifier-only key events (like a bare Shift press-and-release). If agent deck is binding bare Shift to enter a selection mode, it would intercept Shift before it can modify letter keypresses.
Relevant Context
- tmux itself has no Shift keybindings (
tmux list-keys | grep -i shiftreturns nothing) - Ghostty config is default (no custom keybindings)
- This is a known category of issues between Ghostty and tmux-based tools due to the kitty keyboard protocol mismatch (see tmux#3335)
- Adding
set -s extended-keys on/set -s extended-keys-format csi-u/set -as terminal-features 'xterm-ghostty:extkeys'to tmux.conf has not been tested as a workaround yet
Environment
- Terminal: Ghostty (default config, macOS)
- tmux: default config
- Agent managed: Claude Code
- macOS: Darwin 24.0.0