FISH_KEY_READER(1)

πŸ’… FISH_KEY_READER(1) β€” the fish-shell manual, bestie edition 🐟

okay so picture this: you're in the fish-shell docs, you click on fish_key_reader, and you're like "what even is this." Bestie. Sit down. This little icon is gonna change your whole keybinding life. ✨

πŸ¦‹ NAME

fish_key_reader β€” literally just here to explore what characters your keyboard keys send πŸŽ€

🌸 SYNOPSIS

fish_key_reader [OPTIONS]

πŸ’– DESCRIPTION

fish_key_reader is the tool that explains how you would bind a certain key sequence. Like, it tells you the tea about which bytes your keyboard is actually throwing at the terminal when you mash a key. 🫢

By default, it prints the bind <> command for one key sequence, read interactively over standard input. One key sequence, one command, done. Periodt.

The following options are available:

  • -c, --continuous β€” begins a session where multiple key sequences can be inspected. By default the program exits after capturing a single key sequence, so this is the main-character-mode version where it just keeps going. πŸ‘‘
  • -h, --help β€” displays help about using this command. Classic.
  • -V, --verbose β€” explains what sequence was received in addition to the decoded key. So you get the receipts, not just the verdict. πŸ”
  • -v, --version β€” displays the current fish version and then exits. Quick vibe check on what you're running.

⚠️ USAGE NOTES

okay this part is important so listen up πŸ‘€

fish_key_reader intentionally disables handling of many signals. That's not a bug, that's on purpose β€” it needs the raw key data, so it can't be out here responding to every signal that comes its way.

Which means: to terminate fish_key_reader when you're in --continuous mode, you do one of these:

  • press Ctrl+C twice, or
  • press Ctrl+D twice, or
  • type exit, or
  • type quit
🫠 yes, twice. once is not gonna cut it, bestie. it's giving "the key reader is not like other programs."

⭐ EXAMPLE

> fish_key_reader
Press a key:
# press up-arrow
bind up 'do something'

see how it just... hands you the bind command?? no cap, that's the whole magic trick. press up-arrow, get bind up 'do something', copy-paste it into your config, slay. πŸ’…


Copyright: fish-shell developers 🌈


okay that's the whole page, bestie β€” you're now officially a fish_key_reader understander πŸ§šπŸ’œ

this has been version 4.9, dated Sep 08, 2026 β€” go forth and bind responsibly πŸ¦‹βœ¨

πŸ“¦ where this page comes from
  • arch rolling: fish 4.9.3-1 Β· GPL-2.0-only AND BSD-3-Clause AND ISC AND MIT AND PSF-2.0
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms