choose
Select items from a list interactively
TLDR
Print the 5th item from a line (starting from 0)
Print the first, 3rd, and 5th item from a line, where items are separated by ':' instead of whitespace
Print everything from the 2nd to 5th item on the line, including the 5th
Print everything from the 2nd to 5th item on the line, excluding the 5th
Print the beginning of the line to the 3rd item
Print all items from the beginning of the line until the 3rd item (exclusive)
Print all items from the 3rd to the end of the line
Print the last item from a line
SYNOPSIS
choose [OPTION...] < input
PARAMETERS
--prompt
Custom prompt prefix
--header
Treat first N lines as non-selectable header
--preview
Command to generate preview pane content
--height
Maximum height of selector (default: 10)
--inline
Inline mode: single-line selector
--multi
Enable multi-select with Tab
--case
Case-sensitive matching
--exact
Exact substring matching instead of fuzzy
--fuzzy
Enable fuzzy matching (default)
-h, --help
Show help
DESCRIPTION
Choose is a fast, terminal-based fuzzy finder written in Rust. It reads lines from standard input, displays them in a scrollable list, and allows interactive selection via fuzzy matching as you type. Press Enter to select, Ctrl+C to cancel. Supports multi-select, previews, custom prompts, and height adjustment.
Ideal for selecting from command outputs like files (find, ls), processes (ps), or git branches. Filters update in real-time with case-insensitive matching by default. Outputs selected lines to stdout, enabling piping into other commands.
Unlike full-screen tools like fzf, choose uses a compact inline or fixed-height mode, making it lightweight for scripts and quick picks. Install via cargo: cargo install choose-cli.
CAVEATS
Not a standard utility; install from crates.io. Performance best with <10k lines. No mouse support.
EXAMPLE
ls *.txt | choose — interactively pick text files.
ps aux | choose --header 1 --preview 'cat /proc/{}/cmdline' — select processes with preview.
HISTORY
Developed by Skyler Grey; first release April 2021. Actively maintained on GitHub with Rust for speed.


