#4916·fzf

Add `shift-space` key name for Kitty `CSI 32;2u`

Author: HaleTomCreated Sep 9, 2026Updated Sep 9, 2026

Checklist

  • I have read through the manual page (man fzf)
  • I have searched through the existing issues
  • For bug reports, I have checked if the bug is reproducible in the latest version of fzf

Output of fzf --version

0.74.3 (15f64c49)

OS

  • Linux
  • macOS
  • Windows
  • Etc.

Shell

  • bash
  • zsh
  • fish

Problem / Steps to reproduce

Terminals speaking the Kitty keyboard protocol (wezterm, kitty, foot) emit Shift+Space as CSI 32;2u, distinct from bare Space. fzf already names other Shift chords (shift-tab, shift-delete, shift-up, … — confirmed in man fzf), but there is no shift-space name, so the chord is unbindable:

printf 'a\n' | fzf --bind 'shift-space:accept'
# unsupported key: shift-space   (exit 2, instantly, nothing else runs)

Expected: shift-space accepted as a key name (same as the other shift chords), so --bind shift-space:<action> works.

Actual: startup rejection above. Additionally, feeding the raw bytes to a default-config fzf is silently ignored (no accept, no abort, no output — verified by driving fzf under a pty, waiting, then killing it).

Environment: fzf 0.74.3 on Linux (Arch), key bytes produced by wezterm (enable_kitty_keyboard, ShowDebugOverlay confirms the 32;2u encoding), observed both directly attached and through tmux 3.7c.

Related prior art (both closed, neither delivered the name): #4810 proposed Shift+Space for toggle ("Currently impossible to config"); #1160 asked for Shift-Enter/Ctrl-Enter in --expect. Filing separately as neither covers a shift-space bind name.