How to change the color scheme in the new Windows Terminal

The color scheme in Windows Terminal can be changed from the GUI or by editing a JSON configuration file named settings.json.

Choose a built-in Color Scheme

Select Settings from the dropdown menu or press Ctrl+,

Windows Terminal Menu

Choose the profile you wish to apply the Color scheme to, for example,  Windows PowerShell
Go to the Appearance tab and choose the Color scheme from the drop-down list.

Apply a Color scheme to all profiles

It is possible to apply a Color scheme to all your profiles. But this requires you to edit a JSON file. To open the file click the Open JSON file option from the left pane. Editing the file should be fairly straightforward, but if you are unfamiliar with JSON, it might be a good idea to create a backup first.  The file can be found in %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState.

In settings.json, look for the defaults object inside profiles. Copy and paste the following key-value pair inside the defaults object; change the Color scheme name as required.

"colorScheme": "One Half Dark"

colorscheme property added to profiles.json

If some other key-value pair is already in there, you have to put a comma after it. In the image, notice the comma after "fontFace" : "Cascadia Code"

Add and choose a third-party Color scheme

Many Windows Terminal themes are available on the internet, for example here: https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/windowsterminal. Let us see how to add such Color schemes to your settings.

Step 1:

Choose a Color scheme, screenshots for the above Color scheme collection are here.

Step 2:

Open the settings.json file. Go to Settings (see above) and choose the Open JSON File option from the left pane.

Step 3:

Copy the whole code for your chosen Color scheme including the braces and paste it inside the schemes array.

// Add custom color schemes to this array
    "schemes": [{
                  "name": "Cobalt2",
                  "black": "#000000",
                  "red": "#ff0000",
                  "green": "#38de21",
                  "yellow": "#ffe50a",
                  "blue": "#1460d2",
                  "purple": "#ff005d",
                  "cyan": "#00bbbb",
                  "white": "#bbbbbb",
                  "brightBlack": "#555555",
                  "brightRed": "#f40e17",
                  "brightGreen": "#3bd01d",
                  "brightYellow": "#edc809",
                  "brightBlue": "#5555ff",
                  "brightPurple": "#ff55ff",
                  "brightCyan": "#6ae3fa",
                  "brightWhite": "#ffffff",
                  "background": "#132738",
                  "foreground": "#ffffff"
                }
            ],

This adds the chosen theme, Cobalt2 in this example, to our schemes list. You can add more than one theme, they must be separated by commas.

Step 4:

The Color scheme(s) that you add to settings.json is merged with the default color schemes. The steps for choosing a color scheme are the same for user-defined Color schemes.  Please refer to the Choose a built-in Color scheme section.

Override select colors from a built-in theme

It is possible to change only some of the colors from a built-in Color scheme. The default Color schemes are specified in a file called defaults.json. These can be overridden in settings.json.  As an example let us override the background color of One Half Dark theme.

Steps:

  • Open defaults.json.  Hold down the Alt key while clicking on the Open JSON file option. This opens defaults.json instead of settings.json.
  • Note the name of the scheme and the properties which you want to override. In our example: "name": "One Half Dark", and "background": "#282C34".
  • Create a new scheme in settings.json with only the name and the properties which you want to change.

Here is how the schemes array would look in settings.json:

// Add custom color schemes to this array
    "schemes": [
                {
                  "name": "One Half Dark",
                  "background": "#171B1F"
                }
            ],

Choose One-Half Dark as the Color scheme, you will see a darkened background.

2 thoughts on “How to change the color scheme in the new Windows Terminal”

  1. Ok, I see how you modified the background color for ‘One Half Dark’.
    But there must be dozens of other text elements besides the background color.
    I still have no clue about how to change the color of other elements.
    For example:
    I need a good color scheme for Julia, preferably with a light background,
    but when I tried ‘Tango Light’ more than half of Julia error messages were so light (on a light background) that they were very nearly invisible. I have no idea how to change
    the color of a specific type of text element that needs to be changed.

    1. Error messages are supposed to be brightRed in Tango Light. Most light schemes have some problem or other in Windows Terminal. Fixing it might require a bit of work. Try to figure out which color you are seeing and redefine it to something else.
      {
      “name”: “Tango Light”,
      “brightYellow”: “#999900”,
      }
      This redefines brightYellow to a very dark shade of yellow.
      This method will not work if the scheme has already redefined the color to something totally different. Then you will have to find the color by their hex value.

Leave a Comment

Your email address will not be published. Required fields are marked *