set_color(1) set the terminal color


set_color [-v --version] [-h --help] [-b --background COLOR] [COLOR]


Change the foreground and/or background color of the terminal. COLOR is one of black, red, green, brown, yellow, blue, magenta, purple, cyan, white and normal.

  • -b, --background Set the background color
  • -c, --print-colors Prints a list of all valid color names
  • -h, --help Display help message and exit
  • -o, --bold Set bold or extra bright mode
  • -u, --underline Set underlined mode
  • -v, --version Display version and exit

Calling set_color normal will set the terminal color to whatever is the default color of the terminal.

Some terminals use the --bold escape sequence to switch to a brighter color set. On such terminals, set_color white will result in a grey font color, while set_color --bold white will result in a white font color.

Not all terminal emulators support all these features. This is not a bug in set_color but a missing feature in the terminal emulator.

set_color uses the terminfo database to look up how to change terminal colors on whatever terminal is in use. Some systems have old and incomplete terminfo databases, and may lack color information for terminals that support it. Download and install the latest version of ncurses and recompile fish against it in order to fix this issue.