Skip to content

Instantly share code, notes, and snippets.

@gagarine
Last active July 22, 2024 08:08
Show Gist options
  • Save gagarine/cf3f65f9be6aa0e105b184376f765262 to your computer and use it in GitHub Desktop.
Save gagarine/cf3f65f9be6aa0e105b184376f765262 to your computer and use it in GitHub Desktop.
Install fish shell on macOS Mojave with brew

Installing Fish shell on MacOS (Intel and M1) using brew

Fish is a smart and user-friendly command line (like bash or zsh). This is how you can instal Fish on MacOS and make your default shell.

Note that you need the https://brew.sh/ package manager installed on your machine.

Install Fish

brew install fish

More info: https://fishshell.com/docs/current/tutorial.html#tut_path

Check the path

Check the fish path with which fish . In the examples below it was located at: /opt/homebrew/bin/fish On older Macs default path is /usr/local/bin/fish, replace accordingly in the instruction below.

Make fish the default

  1. check the fish path with which fish. In the examples below it was located at: /opt/homebrew/bin/fish. On older Macs the path might differ.
  2. Add fish to the know shells run the command: sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
  3. Restart your terminal
  4. Set fish as the default shell run the command: chsh -s /opt/homebrew/bin/fish
  5. Restart your terminal and check if it launched with fish or not
  6. Add brew binaries in fish path run the command: fish_add_path /opt/homebrew/bin

Optionnal Configurations

Auto Completions

To collect command completions for all commands run:

fish_update_completions

Edit config.sh

I edited the ~/.config/fish/config.fish to have my terminal in english

set -x LANG en_US.UTF-8

Configure your shell

You can configure your shell by launching the web interface, run:

fish_config

Related documentation

@samuel-gibbon
Copy link

Worked perfect for me on M3, thanks

@santakdalai90
Copy link

Thanks for sharing. It helped a lot.

@sertugkaya
Copy link

Thanks for the tip! 👍 fish docs does not show the correct location as you mentioned :)

@jagdishadusumalli
Copy link

macos Sonoma 14.5

  1. Add brew binaries in fish path
    echo (echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> ~/.config/fish/config.fish

This is the conventional way/ command to add brew libs to the path in bash or zsh shell.
In fish when i executed got error "fish: command substitutions not allowed here"
adding extra echo at the begining resolves the error and adds the path to the config.fish file properly and works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment