
Interactive command line shell with syntax highlighting, autosuggestions, and tab completions that work without configuration
Fish is an interactive command line shell that provides enhanced usability features without requiring configuration. It includes syntax highlighting that colorizes commands as you type, autosuggestions that complete commands based on history and manual pages, and tab completions that work intelligently across different command contexts.
The shell maintains compatibility with standard shell operations while adding user-friendly enhancements. Fish automatically generates completions from manual pages using Python, provides a web-based configuration tool accessible through fish_config, and includes clipboard integration with standard Ctrl-V/Ctrl-X bindings. It supports advanced features like command substitution, job control, and custom functions while maintaining a focus on discoverability.
Fish targets users who want an enhanced shell experience without extensive configuration. It runs on macOS, Linux, and Windows (via WSL, Cygwin, or MSYS2), making it accessible across development environments. The shell is implemented in Rust with CMake build system, and provides both traditional package installation and standalone binary deployment options.
# via Homebrew
brew install fish
# via Ubuntu PPA
sudo apt-add-repository ppa:fish-shell/release-4 && sudo apt update && sudo apt install fish
# via Cargo
cargo install --path .