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.
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.
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.
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.
Windows Terminal