fish logo

fish

Interactive command line shell with syntax highlighting, autosuggestions, and tab completions that work without configuration

install
demo

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.

Installation

# 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 .

Alternatives & related tools

add a badge to your README

Maintain fish? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/fish.svg)](https://www.trmn.sh/tools/fish?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/fish?utm_source=badge"><img src="https://www.trmn.sh/badge/fish.svg" alt="Featured on trmn" height="20"></a>