Set up Fish shell on macOS (Intel and Apple Silicone)

Aug 20, 2023

Okay, you probably thought I must be joking, installing fish shell on macOS couldn’t be that hard. But believe me, at first, I had a hard time making everything work with fish the moment I installed it on macOS (Silicone). If you’re here, I assume you got fish installed on your machine, now, let’s figure out the rest.

Check the path

Here lies the difference between Intel Macs and Silicone Macs, the location of fish is different between the two. You have to check the path using which fish:

Terminal window
# Silicone
/opt/homebrew/bin/fish
Terminal window
# Intel
/usr/local/bin/fish

In the examples below, I will use the Silicone Macs path, but you can replace them accordingly.

Make fish the default

  1. Add fish to the know shells by running the command:
Terminal window
sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
  1. Restart your terminal
  2. Set fish as the default shell using the command:
Terminal window
chsh -s /opt/homebrew/bin/fish
  1. Restart your terminal and check if it launched with fish or not
  2. Add brew binaries in fish path:
Terminal window
set -U fish_user_paths /opt/homebrew/bin $fish_user_paths

Optionnaly configure the shell (launch web interface)

Terminal window
fish_config