Alternatives to Zsh

Interactive shell with powerful completion, globbing and prompt theming. 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 Zsh.

  • fish

    A shell that autosuggests commands from your history, highlights syntax as you type and has tab completions that work without configuration.

    fish gives autosuggestions, syntax highlighting and completions with no configuration, but it is not POSIX-compatible and has a smaller plugin ecosystem than Zsh.

  • Nushell

    Shell that pipes structured tables instead of untyped text.

    Nushell pipes structured tables instead of text and also runs on Windows, but it is not POSIX compatible and its language still changes between releases.

Also worth comparing

These listings name Zsh 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.

    Zsh is a widely used interactive shell with strong completion and globbing, closer to POSIX shells than Elvish but without its built-in data structures.

  • Murex

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

    Zsh drops native structured data support but gives a larger community, powerful completion and recursive globbing, with scripts closer to POSIX shells.

  • Oils

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

    Zsh is a mature interactive shell with strong completion and globbing, but it does not run bash scripts with Oils' stricter error checking.

  • Xonsh

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

    Zsh offers powerful completion and globbing in a conventional shell language, without Xonsh's Python integration, and runs on macOS and Linux.

Similar software

Related functionality, not a direct replacement.