FISH_CONFIG(1)
πΈ FISH_CONFIG(1) πΈ
okay so bestie, welcome to fish_config β it's a section 1 manual page from the fish-shell fam, and honestly? it's giving "your terminal finally has a spa day." π
let's get into it.
β¨ NAME β¨
fish_config β start the web-based configuration interface π
π SYNOPSIS π
fish_config [browse]
fish_config prompt (choose | list | save | show)
fish_config theme
fish_config theme choose THEME [ --color-theme=(dark | light) ]
fish_config theme demo
fish_config theme dump
fish_config theme list
fish_config theme show [THEME...]
π¦ DESCRIPTION π¦
fish_config is literally the tool for configuring fish. no cap.
the web era π
With no arguments at all, or with the browse command, it starts up the web-based configuration interface. and like β the web interface lets you view your functions, variables and history, plus make changes to your prompt and your color configuration. iconic, honestly. it spins up a local web server and opens a browser window for you.
when you're done, close the browser window and press Enter to terminate the configuration session. don't just walk away, bestie π
If the BROWSER environment variable is set, it gets used as the name of the web browser to open instead of the system default. very "I have preferences" of you, love that. π«Ά
the prompt era π¬
With the prompt command, fish_config can be used to view and choose a prompt from fish's sample prompts, straight up inside the terminal. no browser required, we're being efficient today β¨
Available subcommands for the prompt command:
chooseβ loads a sample prompt in the current session.listβ lists the names of the available sample prompts.saveβ saves the current prompt to a file (viafuncsave).showβ shows what the given sample prompts (or all of them) would look like.
the theme era π
With the theme command, fish_config can be used to view and choose a theme (meaning a color scheme β yes, queen, aesthetics) inside the terminal.
Available subcommands for the theme command:
chooseβ loads a theme in the current session. if the theme has light and dark variants (see below π), the one matchingfish_terminal_color_themewill be applied (and also whenever that variable changes). to overridefish_terminal_color_theme, pass the--color-themeargument.demoβ displays some sample text in the current theme.dumpβ prints the current theme in a loadable format.listβ lists the names of the available themes.showβ shows what the given themes (or all of them) would look like.save(not recommended π©) β saves the given theme to universal variables. a theme set this way will not update asfish_terminal_color_themechanges. so like, it's stuck. forever. just so you know.
The -h or --help option displays help about using this command. classic. π
π THEME FILES π
fish_config theme and the theme selector in the web config tool load their themes from theme files. these live in the fish configuration directory β typically ~/.config/fish/themes β with a .theme ending. so fetch. πΈ
You can add your own theme by adding a file in that directory. be the main character of your own color scheme, honestly.
To get started quickly:
fish_config theme dump > ~/.config/fish/themes/my.theme
which will save your current theme in .theme format. slay. π
The format looks like this:
# name: 'My Theme'
[light]
# preferred_background: ffffff
fish_color_normal 000000
fish_color_autosuggestion 7f7f7f
fish_color_command 0000ee
[dark]
# preferred_background: 000000
fish_color_normal ffffff
fish_color_autosuggestion 7f7f7f
fish_color_command 5c5cff
[unknown]
fish_color_normal --reset
fish_color_autosuggestion brblack
fish_color_cancel -r
fish_color_command --reset
The comments provide name and background color to the web config tool. very "notes app but make it aesthetic." π
Themes can have three variants: one for light mode, one for dark mode, and one for terminals that don't report colors (where fish_terminal_color_theme is set to unknown). triple threat behavior, we love to see it. π
The other lines are just like set variable value, except that no expansions are allowed. quotes are, but they aren't necessary. lowkey chill of them.
Other than that, .theme files can contain any variable with a name that matches the regular expression '^fish_(?:pager_)?color_.*$' β starts with fish_, an optional pager_, then color_ and then anything. iykyk π§
β EXAMPLE β
fish_configorfish_config browseopens a new web browser window and allows you to configure certain fish settings.fish_config prompt showdemos the available sample prompts.fish_config prompt choose discomakes thediscoprompt the prompt for the current session. this can also be used inconfig.fishto set the prompt. πΊfish_config prompt savesaves the current prompt to an autoloaded file.fish_config prompt save defaultchooses the default prompt and saves it.
π Copyright π
fish-shell developers
and that's the whole page, bestie β no crumbs left behind π this manual page is version 4.9, dated Sep 08, 2026, brought to you by the fish-shell girlies (fish-shell, section 1, FISH_CONFIG(1)). go forth and make your terminal gorgeous β¨π
π¦ where this page comes from
- arch rolling: fish 4.9.3-1 Β· GPL-2.0-only AND BSD-3-Clause AND ISC AND MIT AND PSF-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms