Skip to content

AlexanOliveira/fish-shell-windows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation


A complete setup guide — from a blank terminal to a beautiful, productive shell

Before you start: Create a System Restore Point for your C:/ drive. Always do this before modifying Windows system settings.


What You'll End Up With

Before

ugly cmd

After

final result

Overview

Fish (Friendly Interactive Shell) is one of several command-line interpreters — alongside bash, zsh, and PowerShell — that sit between you and the operating system. What sets Fish apart is that autocompletion and inline suggestions work out of the box, with zero configuration.

Learn more at fishshell.com

Since Fish is a Unix shell, it doesn't run natively on Windows. You'll need Windows Subsystem for Linux (WSL) to bridge that gap — that's what this guide covers.

Step 1 · Install WSL

Open Command Prompt as Administrator and run:

wsl --install

Tip: If Ctrl+V doesn't paste in the terminal, use the right mouse button instead.

This command will:

  • Enable the WSL and Virtual Machine Platform components
  • Download and install the latest Linux kernel
  • Download and install the Ubuntu distribution

Once it finishes, restart your machine.

If wsl --install shows the help menu instead of installing, WSL is already present — skip to Step 2.
If the automatic installation fails, follow Microsoft's manual install guide.


WSL 2 — Hyper-V Requirement

WSL 2 (the recommended version) requires Hyper-V / Virtualization support. Check whether it's enabled in Task Manager under the Performance tab.

Task Manager Virtualization

If it shows Disabled, restart and enable it in your BIOS — usually found under Advanced or CPU Configuration.

No Hyper-V? You can still install WSL 1, though WSL 2 is strongly recommended.


Step 2 · Configure Ubuntu

Open Ubuntu from the Start Menu. If it doesn't appear, find your installed version in the Microsoft Store and click Open.

Wait for the initial setup to finish, then create a username and password when prompted.

Ubuntu first run


Step 3 · Install Fish

Open cmd and run the command bash or wsl to access your Linux (Ubuntu) environment

Add the Fish repository, update your package list, and install:

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update && sudo apt upgrade
sudo apt install fish

If apt-add-repository returns "not found command" run sudo apt install software-properties-common


That's it — Fish is installed. Launch it by running fish in Linux Terminal (bash or wsl)

Step 1 · Install Windows Terminal

Ditch the default terminal. Install Windows Terminal from the Microsoft Store for a modern, tabbed experience.


Step 2 · Install Oh My Fish

Oh My Fish (omf) is the plugin and theme manager for Fish. First, make sure Git is available:

sudo apt install git

Then install omf:

curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish

Oh My Fish documentation


Step 3 · Install a Theme

This guide uses bobthefish — a powerline-style theme with Git integration and a clean layout. Browse all available themes here.

omf install bobthefish

Step 4 · Configure the Theme

Open the Fish config folder in Windows Explorer:

cd ~/.config/fish/ && explorer.exe .

Open config.fish and replace its contents with the following, then save:

if status is-interactive
    set -g theme_display_git_default_branch yes
    set -g theme_title_display_process yes
    set -g theme_title_display_path no
    set -g theme_title_use_abbreviated_path no
    set -g theme_date_format "+%d/%m/%y %H:%M"
    set -g theme_display_user yes
    set -g theme_display_hostname yes
    set -g fish_prompt_pwd_dir_length 6
    set -g theme_display_jobs_verbose yes
end

What each option does

Result:

bobthefish theme


Step 5 · Install a Nerd Font

The theme uses special glyphs that require a Nerd Font. Without one, you'll see placeholder boxes [] instead of icons.

This guide uses SauceCodePro Nerd Font. Download the variants you need:

Open each .ttf file and click Install.

Browse all Nerd Fonts


Step 6 · Configure Windows Terminal

In Windows Terminal, click the arrow next to the tab bar → SettingsOpen JSON file (bottom-left corner).

Windows Terminal settings

  • Under "profiles""defaults":
    • Rename "Ubuntu" to Fish (or your preferred name)
    • Add the theme (colorScheme) "Campbell"
    • Set the Fish "guid" as the default profile for Windows Terminal.

JSON config demo


If you want your Terminal to be translucent, add opacity and useAcrylic under "defaults":

"defaults": {
    "font": {
        "face": "SauceCodePro Nerd Font"
    },
    "opacity": 50,
    "useAcrylic": true
},
"list": [
    {
        "colorScheme": "Campbell",
        "icon": "https://avatars.githubusercontent.com/u/11728505?s=48&v=4",
        "guid": "{51855cb2-8cce-5362-8f54-464b92b32386}",
        "name": "Fish",
        "hidden": false,
        "source": "CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc"
    }
]

Note: Transparency requires Transparency effects to be enabled in Windows:
Start → Settings → Personalization → Colors → Transparency effects On


Step 7 · Set Fish as the Default Shell

Run this inside your WSL session to make Fish the default shell for your user:

chsh -s /usr/bin/fish

You may need to restart your WSL session for the change to take effect


Step 8 · Choose a Symbol Style

Pick one of the two symbol rendering modes and run the corresponding command inside Fish:

PowerLine style:

set -g theme_powerline_fonts yes
set -g theme_nerd_fonts no

PowerLine style

Nerd Fonts style:

set -g theme_powerline_fonts no
set -g theme_nerd_fonts yes

Nerd Fonts style


Reference Links

Resource Link
Fish Shell fishshell.com
Fish on GitHub fish-shell/fish-shell
Oh My Fish oh-my-fish/oh-my-fish
omf Themes Themes Gallery
bobthefish theme-bobthefish
Nerd Fonts ryanoasis/nerd-fonts
WSL Install Microsoft Docs
Windows Terminal Microsoft Store

Originally written in 2022. Contributions and corrections are welcome via pull request.

About

> A super complete tutorial on how to install Fish Shell on Windows (WSL), Linux and Mac, and configure Terminal's appearance | | | > Um tutorial super completo de como instalar o Fish Shell no Windows (WSL), Linux e Mac e configurar o visual do Terminal

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages