Starting with version 1.16 and later, the Windows Terminal adds support to create custom themes, but you will need some JSON skills to change the appearance because you will need to code the theme in the “settings.json” file.
It’s all possible because of the new “themes” global property, which you can use to create a theme with custom colors for tabs, the tab row, and the application window. Once the “settings.json” is updated with the code, the theme will be available in the “Theme” setting on the “Appearance” page.
This guide will teach you the steps to create a custom theme and apply it to the Windows Terminal on Windows 11.
Create custom theme for Windows Terminal
To create a custom theme that you can apply to the Terminal, use these steps:
-
Open Windows Terminal.
-
Click the menu (down-arrow) button and select the Settings option.
-
Click on Open JSON file.
-
In the “themes” object, open the brackets “[ ]” and code the custom theme. Here’s an example of the coding that builds a theme:
"themes": [ { "name": "My Theme", "tab": { "background": "#ffff00", "showCloseButton": "always", "unfocusedBackground": null }, "tabRow": { "background": "#fb0004", "unfocusedBackground": "#555555" }, "window": { "applicationTheme": "dark", } } ]
-
Use the Ctrl + S keyboard shortcut to save the file.
-
In the Terminal settings, click on Appearance.
-
Select the custom theme from the “Theme” setting.
-
Click the Save button.
When creating a custom theme, you are setting up custom colors for the window and tabs. If you want to customize the colors for the background, you can change the color scheme from the “Color schemes” section.
In the theme code, the tab
object supports background
, unfocusedBackground
, and showCloseButton
properties. background
will set the color of the tab background when the tab is active and will always show colors at full opacity. The unfocusedBackground
sets the color when the tab is inactive and showCloseButton
toggles the appearance of the close button on the tab.
The tabRow
object supports background
and unfocusedBackground
properties. background
will set the color of the tab row background when the window is focused. The unfocusedBackground
will set the color of the tab row background when unfocused.
Finally, it’s possible to modify settings applied to the window with the window
object. The window
object supports applicationTheme
. The applicationTheme
will apply the colors of the selected application theme to the terminal window unless other colors are specified.
If you want to create a second or third theme, you only need to write the code after the last curly bracket “{}” of the first theme and before the last bracket “[ ]” of the “themes” object.