I do not like to retype fish every time I start terminal. I want fish
on by default. How can I set fish shell as my default shell on a Mac?
1. sudo nano /etc/shells
2. add /usr/local/bin/fish to your list of shells
3. chsh -s /usr/local/bin/fish
This work for me on fresh install of mac osx (sierra):
sudo chown $(whoami) /etc/shells
sudo echo /usr/local/bin/fish >> /etc/shells
chsh -s /usr/local/bin/fish
sudo chown root /etc/shells
Preferences
> General
> Shells open with:
> /bin/fish
/usr/local/bin/fish
.See this screenshot where zsh
is being set as default.
I am using macOS Sierra. Also works in macOS Mojave.
In case you are having troubles with the other ways, worked on mac Mojave but should generally work.
which fish
add the output path to "System Preferences > Users & Groups > right click user, Advanced Options" Paste the result from which into "Login shell:"