← Software

fish shell

A user-friendly shell with sensible defaults.

fish shell logo

fish ("the friendly interactive shell") prioritises out-of-the-box usability over POSIX compatibility. Syntax highlighting, autosuggestions inferred from history, tab completion derived automatically from man pages, and a clean configuration syntax are enabled by default and require no plugins or framework. The trade-off is that fish is not a drop-in /bin/sh replacement: its scripting language uses different keywords and syntax, so shell scripts intended to run portably should still target Bash or sh.

Axel Liljencrantz released the first version in 2005 and the project has been continuously developed since. Recent releases (fish 4.0 in 2025) have rewritten most of the implementation in Rust, replacing the previous C++ codebase to improve memory safety and reduce dependencies.

fish has a sizable following among interactive users on macOS and Linux who don't want to spend time configuring Zsh with oh-my-zsh or pulling in extensive Bash plugins. It is packaged in every major distribution and on Homebrew, and dotfile-sharing configurations like Starship, fnm, and direnv all integrate cleanly.

License: GPL-2.0-only

Category: Shell

Website: https://fishshell.com/

Install

Debian/Ubuntu: sudo apt install fish
Fedora/RHEL:   sudo dnf install fish
Arch:          sudo pacman -S fish
macOS:         brew install fish

Authors

  • Axel Liljencrantz (original author, 2005)
  • fish-shell maintainers
PreviousFFmpeg NextFlameshot

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring