Advanced profile settings in Windows Terminal

The settings listed below are specific to each unique profile. If you'd like a setting to apply to all of your profiles, you can add it to the defaults section above the list of profiles in your settings.json file.

"defaults":
{
    // SETTINGS TO APPLY TO ALL PROFILES
},
"list":
[
    // PROFILE OBJECTS
]

Suppress title changes

When this is set to true, tabTitle overrides the default title of the tab and any title change messages from the application will be suppressed. If tabTitle isn't set, name will be used instead. When this is set to false, tabTitle behaves as normal.

Property name: suppressApplicationTitle

Necessity: Optional

Accepts: true, false



Text antialiasing

This controls how text is antialiased in the renderer. Note that changing this setting will require starting a new terminal instance.

Windows Terminal antialiasing text

Property name: antialiasingMode

Necessity: Optional

Accepts: "grayscale", "cleartype", "aliased"

Default value: "grayscale"



AltGr aliasing

This allows you to control if Windows Terminal will treat Ctrl+Alt as an alias for AltGr.

Property name: altGrAliasing

Necessity: Optional

Accepts: true, false

Default value: true



Scroll to input when typing

When this is set to true, the window will scroll to the command input line when typing. When it's set to false, the window will not scroll when you start typing.

Property name: snapOnInput

Necessity: Optional

Accepts: true, false

Default value: true



History size

This sets the number of lines above the ones displayed in the window you can scroll back to. The maximum history size is 32767.

Property name: historySize

Necessity: Optional

Accepts: Integer

Default value: 9001



Profile termination behavior

This sets how the profile reacts to termination or failure to launch. "graceful" will close the profile when exit is typed or when the process exits normally. "always" will always close the profile and "never" will never close the profile. "automatic" was added once Windows Terminal was allowed to be the default terminal application; for processes launched in Terminal directly, it behaves the same as "graceful" but for processes that were handed off to Terminal it behaves the same as "always".

true and false are accepted as synonyms for "graceful" and "never", respectively.

Property name: closeOnExit

Necessity: Optional

Accepts: "automatic", "graceful", "always", "never", true, false

Default value: "automatic"

Note

In Windows Command Prompt (cmd.exe), exit will return the return code of the previous command. If the command you typed before exit resulted in an error, then "closeOnExit": "graceful" will still show that error code, instead of closing the tab.



Bell notification style

Controls what happens when the application emits a BEL character. When set to "all", the terminal will play a sound and flash the taskbar icon. When the terminal is not in focus, only the taskbar icon will flash.

Property name: bellStyle

Necessity: Optional

Accepts: "all", "audible", "window", "taskbar", "none"

Default value: "audible"



Bell sound

When bellStyle is set to "all" or "audible", this allows you to choose the audio file for the bell. If you have an array of sounds set, the terminal will pick one at random.

Property name: bellSound

Necessity: Optional

Accepts: File location as a string or an array of file locations as strings


Scroll marks (Preview)

The following settings modify how scroll marks behave in Windows Terminal. For more info on marks and shell integration, visit the Shell integration page.

Automatically add scroll marks

When set to true, the Terminal will automatically mark the current like as a prompt when the user presses Enter. If the user has shell integration enabled, this will treat the current cursor position as a FTCS;C, ending the current command and starting the output.

Property name: autoMarkPrompts

Necessity: Optional

Accepts: true, false

Important

This feature became stable in v1.21. Before that version, it was only available in Windows Terminal Preview, and was named experimental.autoMarkPrompts.

Show marks on scrollbar

Displays marks on the scrollbar when set to true. When combined with autoMarkPrompts or shell integration, this will show the location of the prompts on the scrollbar.

Windows Terminal scrollbar marks

Property name: showMarksOnScrollbar

Necessity: Optional

Accepts: true, false

Important

This feature became stable in v1.21. Before that version, it was only available in Windows Terminal Preview, and was named experimental.showMarksOnScrollbar.


Experimental text rendering engine

Enables use of the experimental text rendering engine for the profile. This is an experimental feature and its continued existence is not guaranteed. A new instance of the profile needs to be opened in order for this setting to take effect.

Property name: experimental.useAtlasEngine

Necessity: Optional

Accepts: true, false

Default value: false



Right click context menu (Preview)

When enabled, right-click will open a context menu with options to copy, paste, and more. When disabled, right-click will paste the contents of the clipboard into the terminal. With shell integration enabled, right-click will also allow you to select the current command or output. This is an experimental feature, and its continued existence is not guaranteed.

Property name: experimental.rightClickContextMenu

Necessity: Optional

Accepts: true, false

Default value: false

Important

This feature is only available in Windows Terminal Preview.



Experimental: Move cursor with the mouse

This experimentally adds support for moving the text cursor by clicking with the mouse on the current commandline. This is an experimental feature - there are lots of edge cases where this will not work as expected. In order for this setting to work, you will need to enable shell integration in your shell.

A recording of the user moving the cursor with the mouse

Property name: experimental.repositionCursorWithMouse

Necessity: Optional

Accepts: true, false

Default value: false



VT passthrough mode

When set to true, directs the PTY for this connection to use pass-through mode instead of the original Conhost PTY simulation engine. This is an experimental feature, and its continued existence is not guaranteed.

Property name: experimental.connection.passthroughMode

Necessity: Optional

Accepts: true, false

Default value: false



Unique identifier

Profiles can use a GUID as a unique identifier. To make a profile your default profile, it needs a GUID for the defaultProfile global setting.

Property name: guid

Necessity: Required

Accepts: GUID as a string in registry format: "{00000000-0000-0000-0000-000000000000}"

Tip

You can run [guid]::NewGuid() in PowerShell to generate a GUID for your custom profile. You can also use the online GUID generator or for other command lines, use the UUID generator.


Source

This stores the name of the profile generator that originated the profile. There are no discoverable values for this field. For additional information on dynamic profiles, visit the Dynamic profiles page.

Property name: source

Necessity: Optional

Accepts: String

Note

This field should be omitted when declaring a custom profile. It is used by Terminal to connect automatically generated profiles to your settings file.