Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Setting Fish as your default shell on Mac OS X
$ brew install fish
$ echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
$ chsh -s `which fish`
@henriquea

This comment has been minimized.

Copy link
Owner Author

commented Nov 13, 2015

Don't forget to restart/quit the terminal and open it again.

@imfht

This comment has been minimized.

Copy link

commented May 10, 2018

⋊> ~ chsh -s `which fish`                                                                                                                                                                         08:47:11
chsh: unknown user: fish`

not working

@nelson-10e

This comment has been minimized.

Copy link

commented May 15, 2018

@imfht
try chsh -s /usr/local/bin/fish

@reergymerej

This comment has been minimized.

Copy link

commented Sep 28, 2018

jg@jg ~> chsh -s `which fish`
chsh: unknown user: fish`
jg@jg ~> chsh -s (which fish)
Changing shell for jg.
@bvanrijn

This comment has been minimized.

Copy link

commented Mar 2, 2019

This is by far the cleanest solution I have seen so far! Thanks!

@plgonzalezrx8

This comment has been minimized.

Copy link

commented Mar 17, 2019

Also after doing that, if it still doesn't work, open the terminal.app then press Command + , then select the "Shell" tab and on the startup area, click the check box where it says "run command" and type /usr/local/bin/fish . DO NOT click where it says "run inside shell" because then you will have to exit twice when tring to use the exit command. Now when you open the terminal app it should run a pure fish shell, instead of a shell within a shell.

@Odame

This comment has been minimized.

Copy link

commented Jul 13, 2019

How about the incompatible stuff in ~/bash_profile? LIke if else fi statements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.