Alternatives to fish

A shell that autosuggests commands from your history, highlights syntax as you type and has tab completions that work without configuration. The listings below can replace it for an important use case. Each note says what changes if you switch.

The original

Replacements

Listings that take over the same core job as fish.

  • Zsh

    Interactive shell with powerful completion, globbing and prompt theming.

    Zsh offers command-aware completion and recursive globbing under the MIT license, but its startup configuration grows complicated quickly, which is why frameworks like Oh My Zsh exist.

  • Nushell

    Shell that pipes structured tables instead of untyped text.

    Nushell pipes structured tables instead of text and has an official Windows build, but like fish it is not POSIX compatible and its language still changes between releases.

Also worth comparing

These listings name fish as their own alternative, so the relationship runs both ways.

  • Elvish

    A scripting language and interactive shell with data structures and built-in interactive features.

    fish focuses on interactive use with autosuggestions and man-page completions out of the box, but has no official Windows build and is also not POSIX-compatible.

  • Murex

    A command-line shell with native support for JSON, YAML, CSV and other structured data.

    fish trades structured data handling for autosuggestions, syntax highlighting and man-page completions that work with no configuration.

  • Oils

    A Unix shell project combining OSH, a bash-compatible shell, and YSH, a new shell language.

    fish focuses on interactive use with autosuggestions and highlighting out of the box, but it is not POSIX-compatible so bash scripts need changes.

  • Xonsh

    A cross-platform shell whose language is a superset of Python 3 with shell commands built in.

    fish gives autosuggestions and highlighting with no configuration, but uses its own language rather than Python and has no official Windows build.

  • zsh-autosuggestions

    A Zsh plugin that suggests commands as you type, based on your shell history.

    fish builds history-based autosuggestions into the shell itself with no plugins, but switching means leaving Zsh for a shell that is not POSIX-compatible.

Similar software

Related functionality, not a direct replacement.