Setting up fish shell May 24, 2025

I have always used ZSH on a Mac. There are many ways to customize ZSH. Recently, I felt that my shell was extremely slow. I had experimented with many ZSH plugins and themes. After testing a few options, I decided to switch to the Fish shell. This was not as straightforward as I expected, so I decided to write a blog post about it.

Installation

  1. Install Homebrew: If you don’t have Homebrew, install it by following the instructions on their website.

  2. Install Fish Shell: Open your terminal and run:

    brew install fish
  3. Make Fish the default shell:

    • Verify the Fish path with which fish. The path is likely /opt/homebrew/bin/fish.
    • Add Fish to the list of known shells. (This is important!)
    sudo sh -c 'echo /opt/homebrew/bin/fish >> /etc/shells'
    • Change your default shell:
    chsh -s /opt/homebrew/bin/fish
    • Restart your terminal to activate the new shell.
  4. Set up starship.rs (Optional): Fish does not require much additional setup.

    curl -sS https://starship.rs/install.sh | sh
    echo 'starship init fish | source' >> ~/.config/fish/config.fish
  5. Update VS Code settings to use Fish:

    "terminal.integrated.defaultProfile.osx": "fish"