Theme settings in Windows Terminal (Preview)
The settings listed below affect the visuals of the terminal window itself, rather than the appearance of an individual tab/pane. These settings are currently only editable directly in the settings.json file and are not configurable via the settings UI.
"theme": "dark"
"themes":
[
// THEME OBJECTS
]
For some example themes, take a look at the Themes gallery.
Each theme in the themes
list is comprised of a collection of property objects, that specify the properties of individual elements of the application. For example, the default "dark"
theme is the following:
{
"name": "dark",
"window": {
"applicationTheme": "dark"
},
"tab": {
"background": "terminalBackground",
"unfocusedBackground": "#00000000"
},
"tabRow": {
"unfocusedBackground": "#333333FF"
}
},
You may also configure the Terminal to use separate themes for light and dark mode in the OS and change automatically between those themes when the OS theme changes. To do this, specify the theme
property as an object containing the keys light
and dark
:
"theme": { "dark": "<Dark Theme Name>", "light": "<Light Theme Name>" },
Theme name
This is the name of the theme. Names should be unique. The names dark
, light
, and system
are reserved for the built-in default themes.
Property name: name
Necessity: Required
Accepts: Name of theme as a string
Window
These settings are used to configure the appearance of the whole of the window of the Terminal.
Property name: window
Application theme
This sets the UI theme of the application. This will stylize items such as buttons, the command palette, and other application UI elements. It can either be light or dark. "system"
will use the same theme as Windows.
Property name: applicationTheme
Necessity: Optional
Accepts: "system"
, "dark"
, "light"
Default value: "dark"
Mica
This enables the Mica effect on this window, beneath all other UI layers. For Mica to be visible, the layers above it need to be transparent. As an example, to have a tab row with Mica in it you'll need to configure the alpha channel of the background to be 0
as follows:
{
"name": "My Mica Theme",
"tab":
{
"background": "terminalBackground"
},
"tabRow":
{
"background": "#00000000"
},
"window":
{
"applicationTheme": "system",
"useMica": true
}
},
Note that when Mica is enabled for the window it is enabled under the entirety of the window, including as a backdrop for the Terminal panes in the window. This means that profiles which are using opacity
without useAcrylic
enabled will show through to the new Mica background. It is not currently possible to have an unblurred transparent background for the Terminal and a Mica background for the tabs / tab row simultaneously.
Property name: useMica
Necessity: Optional
Accepts: true
, false
Default value: false
Note
Mica is only available on Windows builds >= 22621.
Window border
This sets the color of the window border, when the window is active. When set to null
, the border will use whatever the default color is for the OS theme.
Property name: frame
Necessity: Optional
Accepts: a theme color
Default value: null
Note
Window border colors are only available on Windows 11.
Important
This feature is only available in Windows Terminal Preview.
Inactive window border
This sets the color of the window border, when the window is inactive. When set to null
, the border will use whatever the default color is for the OS theme.
Property name: unfocusedFrame
Necessity: Optional
Accepts: a theme color
Default value: null
Important
This feature is only available in Windows Terminal Preview.
Experimental: Rainbow Window border
When enabled, this setting will cause the window border to cycle through the colors of the rainbow. This is an experimental feature, and its continued existence is not guaranteed. When this setting is enabled, it will take precedence over both frame
and unfocusedFrame
.
Property name: experimental.rainbowFrame
Necessity: Optional
Accepts: true
, false
Default value: false
Important
This feature is only available in Windows Terminal Preview.
Tab row
These settings are used to configure the appearance of the tab row. When showTabsInTitlebar
is true
(the default), this configures the title bar.
Property name: tabRow
Background color
The color of the tab row when the window is in the foreground.
Property name: background
Necessity: Optional
Accepts: a theme color.
Inactive background color
The color of the tab row when the window is inactive.
Property name: unfocusedBackground
Necessity: Optional
Accepts: a theme color.
Tabs
These are settings that control the appearance of individual tabs in the Terminal.
Property name: tab
Background color
The color of the active tab. Setting a tabColor
in a profile will override this value. Similarly, setting a color at runtime with the tab color picker will override this color.
This color is always treated as a solid color, even if set to a terminalBackground
of a pane with an acrylic background.
Property name: background
Necessity: Optional
Accepts: a theme color.
Inactive background color
The color of inactive tabs. Setting a tabColor
in a profile will override this value. Similarly, setting a color at runtime with the tab color picker will override this color.
This color is always treated as a solid color, even if set to a terminalBackground
of a pane with an acrylic background.
When set to terminalBackground
or accent
, this will automatically use an alpha value of 30%, to be semi-transparent.
Property name: unfocusedBackground
Necessity: Optional
Accepts: a theme color.
Show close button
Configures how the "close" button on the tab should appear. This accepts the following values:
"always"
: Always show tab close buttons."hover"
: Show the tab close button on the active tab, and any tabs that are hovered with the mouse."never"
: Never show tab close buttons. This also disables the ability to close the tab with the middle mouse button."activeOnly"
: Show the tab close button on the active tab only.
Property name: showCloseButton
Necessity: Optional
Accepts: "always"
, "hover"
, "never"
, "activeOnly"
Default value: "always"
Theme colors
The colors used in themes both accept RGBA color values, as well as a few special strings for custom values. The accepted values are as follows:
"#rgb
,"#rrggbb
,"#rrggbbaa
: An RGB color value. When the alpha chanel is omitted, these colors default to a fully opaque alpha channel."accent"
: This is a special value that means "the accent color set in the system settings"."terminalBackground"
: This is a special value evaluated to mean "the background color of the active terminal pane". If there are multiple panes in a tab, then this is the color of the active one. This always uses thebackground
of the profile - it ignores anything from abackgroundImage
, if set.
Windows Terminal