Markus Löning

Software Engineering & Machine Learning

Installing fish shell with Starship

Posted at Jan 10, 2026 20:45:23 — Last modified at Feb 3, 2026 23:58:16

I had heard good things about fish and after using oh-my-zsh for a long time, I wanted to give it a try with Starship.

Installing fish and Starship is straightforward on macOS:

brew install fish starship

Next, we add fish as an allowed non-standard shell on macOS, and set it as the default:

echo /usr/local/bin/fish | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish

I was using Alacritty and for Alacritty to pick up the new shell, I had to restart my laptop (or at least log out and back in).

My migration from oh-my-zsh with powerlevel10k was easy. Most features were supported out of the box or easy to configure:

You can find my full configuration in my dotfiles repository.

Compared with Zsh, fish provides:

I also wanted to migrate my Zsh command history, here are some options, but haven’t tried them yet: