LinuxmacOS

Where Is the Fish Shell Config File?

Fish shell config.fish and functions folders on Linux and macOS, plus the web-based config tool.

Last updated

Fish keeps its main config in config.fish under the XDG config home, with autoloaded functions in a functions subfolder. Universal variables persist separately in fish_variables.

The web UI (fish_config) edits colors and prompts without hand-editing files. Custom functions saved there land in functions automatically.

Where Fish shell stores this, by platform

Linux
~/.config/fish/config.fish

Main config file. Functions live in ~/.config/fish/functions, one file per function. Completions go in completions.

macOS
~/.config/fish/config.fish

Identical layout. Homebrew fish uses the same path.

Frequently asked questions

How do I add aliases in Fish?

Add abbreviations with abbr -a name expansion in config.fish. They expand on space and are friendlier than aliases for interactive use.

Notice an outdated path? Let us know.