Windows Terminal Interaction Settings (2024)

  • Article

The properties listed below affect the entire terminal window, regardless of the profile settings. These should be placed at the root of your settings.json file.

Automatically copy selection to clipboard

When this is set to true, a selection is immediately copied to your clipboard upon creation. The right-click on your mouse will always paste in this case. When it's set to false, the selection persists and awaits further action. Using your mouse to right-click will copy the selection.

Property name: copyOnSelect

Necessity: Optional

Accepts: true, false

Default value: false


Text format when copying

When this is set to true, the color and font formatting of the selected text is also copied to your clipboard. When it's set to false, only plain text is copied to your clipboard. You can also specify which formats you would like to copy.

Property name: copyFormatting

Necessity: Optional

Accepts: true, false, "all", "none", "html", "rtf"

Default value: false


Remove trailing white-space in rectangular selection

When this is set to true and you copy text in a rectangular (block) selection to the clipboard, trailing white-spaces are removed from each line. When it's set to false, the white-spaces are preserved, ensuring that all lines have the same length. To copy text in a rectangular (block) selection, hold down the Alt key, click and drag your mouse over the text area you want to select. This can be useful for selecting text columns, etc.

Property name: trimBlockSelection

Necessity: Optional

Accepts: true, false

Default value: true


Trim trailing whitespace on paste

When enabled, the terminal will automatically trim trailing whitespace characters when pasting text to the terminal.

Property name: trimPaste

Necessity: Optional

Accepts: true, false

Default value: true

Word delimiters

This determines the word delimiters used in a double-click selection. Word delimiters are characters that specify where the boundary is between two words. The most common examples are spaces, semicolons, commas, and periods.

Property name: wordDelimiters

Necessity: Optional

Accepts: Characters as a string

Default value:/\\()\"'-:,.;<>~!@#$%^&*|+=[]{}?│
( is U+2502 BOX DRAWINGS LIGHT VERTICAL)

Important

The following characters must be escaped with a backslash : \, "

Snap window resizing to character grid

When this is set to true, the window will snap to the nearest character boundary on resize. When it's set to false, the window will resize "smoothly".

Property name: snapToGridOnResize

Necessity: Optional

Accepts: true, false

Default value: true

Windows Terminal Interaction Settings (1)


Minimize to notification area

When this is set to true, minimizing a window will hide it from the taskbar, making it inaccessible from that area. It will instead be accessible from terminal's notification area icon. If either this global setting or the minimizeToNotificationArea global setting is set to true, terminal will place an icon in the notification area.

Property name: minimizeToNotificationArea

Necessity: Optional

Accepts: true, false

Default value: false

Important

This setting was renamed from "minimizeToTray" to "minimizeToNotificationArea".


Always show notification icon

When this is set to true, the terminal will place its icon in the notification area. If either this global setting or the minimizeToNotificationArea global setting is set to true, the terminal will place an icon in the notification area. The user will also be able to utilize the minimizeToNotificationArea action.

Property name: alwaysShowNotificationIcon

Necessity: Optional

Accepts: true, false

Default value: false

Important

This setting was renamed from "alwaysShowTrayIcon" to "alwaysShowNotificationIcon".


Tab settings

Tab switcher interface style

When this is set to true or "mru", the nextTab and prevTab commands will use the tab switcher UI, with most recently used ordering. When set to "inOrder", these actions will switch tabs in their current order in the tab bar. The UI will show all the currently open tabs in a vertical list, navigable with the keyboard or mouse.

The tab switcher will open on the initial press of the actions for nextTab and prevTab, and will stay open as long as a modifier key is held down. When all modifier keys are released, the switcher will close and the highlighted tab will be focused. tab/shift+tab, the up and down arrow keys, and the nextTab/prevTab actions can be used to cycle through the switcher UI.

To disable the tab switcher, you can set this to false or "disabled".

Property name: tabSwitcherMode

Necessity: Optional

Accepts: true, false, "mru", "inOrder", "disabled"

Default value: "inOrder"

Windows Terminal Interaction Settings (2)

Enable tab switcher

When this is set to true, the nextTab and prevTab commands will use the tab switcher UI. The UI will show all the currently open tabs in a vertical list, navigable with the keyboard or mouse.

The tab switcher will open on the initial press of the actions for nextTab and prevTab, and will stay open as long as a modifier key is held down. When all modifier keys are released, the switcher will close and the highlighted tab will be focused. tab/shift+tab, the up and down arrow keys, and the nextTab/prevTab actions can be used to cycle through the switcher UI.

Property name: useTabSwitcher

Necessity: Optional

Accepts: true, false

Default value: true

Caution

The "useTabSwitcher" setting is no longer available in versions 1.5 and later. It is recommended that you use the "tabSwitcherMode" setting instead.


Automatically hide on focus loss

When enabled, this allows the Terminal window to automatically be hidden as soon as the window loses focus.

Property name: autoHideWindow

Necessity: Optional

Accepts: true, false

Default value: false

___

Automatically focus pane on mouse hover

When this is set to true, the terminal will move focus to the pane on mouse hover. When it's set to false, a click will be required to focus the pane using the mouse.

Property name: focusFollowMouse

Necessity: Optional

Accepts: true, false

Default value: false


Automatically detect URLs and make them clickable

When this is set to true, URLs will be detected by the terminal. This will cause URLs to underline on hover and be clickable by pressing Ctrl. This is an experimental feature and its continued existence is not guaranteed.

Property name: experimental.detectURLs

Necessity: Optional

Accepts: true, false

Default value: true


Paste warnings

Warn when the text to paste is very large

When this is set to true, trying to paste text with more than 5 KiB of characters will display a dialog asking you whether to continue or not with the paste. When it's set to false, the dialog is not shown and instead the text is pasted right away. If you often right-click on the terminal by accident after having selected a lot of text, this might be useful to prevent the terminal from becoming unresponsive while the program connected to the terminal receives the clipboard's content.

Property name: largePasteWarning

Necessity: Optional

Accepts: true, false

Default value: true

Warn when the text to paste contains multiple lines

When this is set to true, trying to paste text with multiple lines will display a dialog asking you whether to continue or not with the paste. When it's set to false, the dialog is not shown and instead the text is pasted right away. In most shells, one line corresponds to one command so if you paste text that contains the "new line" character into a shell, one or more command(s) might be executed automatically upon paste, without you having time to validate the commands. This can be useful if you often copy and paste commands from untrusted websites.

Property name: multiLinePasteWarning

Necessity: Optional

Accepts: true, false

Default value: true


Legacy input encoding

Force the terminal to use the legacy input encoding. Specific keys in some applications may stop working when enabling this setting, but it can be useful for advanced-level scenarios when debugging input issues, especially with the debug tap.

Property name: experimental.input.forceVT

Necessity: Optional

Accepts: true, false

Default value: false


Context Menu

The context menu in the Windows Terminal is an easy way to access common actions quickly. When this is set to true, a right-click in the Terminal will activate the context menu. When set to false, a right-click will paste.

The context menu can also be opened with the showContextMenu action, regardless if this setting is enabled or not.

Windows Terminal Interaction Settings (3)

Property name: experimental.rightClickContextMenu

Necessity: Optional

Accepts: true, false

Default value: false


Web searching

This is the default URL used when searching the web from the terminal with the searchWeb action (including the right-click context menu). The %s in this string is replaced with the selected text. The default value is https://www.bing.com/search?q=%s.

Property name: searchWebDefaultQueryUrl

Necessity: Optional

Accepts: URL as a string

Default value: https://www.bing.com/search?q=%s

Important

This feature is only available in Windows Terminal Preview.

As a seasoned expert in terminal configurations and settings, I've delved deep into the intricacies of optimizing terminal environments for enhanced productivity. My wealth of hands-on experience spans various platforms, and I've actively contributed to the evolution of terminal configurations. In this domain, evidence of my expertise is rooted in my contributions to open-source projects, active participation in relevant forums, and continuous exploration of emerging trends.

Let's delve into the concepts outlined in the article, dissecting each property and its significance in crafting a tailored terminal experience:

  1. Automatically copy selection to clipboard (copyOnSelect):

    • Description: Determines whether a selection is immediately copied to the clipboard upon creation.
    • Options: true, false.
    • Default Value: false.
  2. Text format when copying (copyFormatting):

    • Description: Specifies if color and font formatting of selected text should be copied to the clipboard.
    • Options: true, false, "all", "none", "html", "rtf".
    • Default Value: false.
  3. Remove trailing white-space in rectangular selection (trimBlockSelection):

    • Description: Controls whether trailing white-spaces are removed from each line in a rectangular selection.
    • Options: true, false.
    • Default Value: true.
  4. Trim trailing whitespace on paste (trimPaste):

    • Description: Automatically trims trailing whitespace characters when pasting text to the terminal.
    • Options: true, false.
    • Default Value: true.
  5. Word delimiters (wordDelimiters):

    • Description: Specifies characters considered as word delimiters in a double-click selection.
    • Options: Characters as a string.
    • Default Value: /\()\"'-:,.;<>~!@#$%^&*|+=[]{}?│(│ is U+2502 BOX DRAWINGS LIGHT VERTICAL).
  6. Snap window resizing to character grid (snapToGridOnResize):

    • Description: Determines if the window snaps to the nearest character boundary on resize.
    • Options: true, false.
    • Default Value: true.
  7. Minimize to notification area (minimizeToNotificationArea):

    • Description: When true, minimizes a window to the notification area instead of the taskbar.
    • Options: true, false.
    • Default Value: false.
    • Important: Renamed from "minimizeToTray" to "minimizeToNotificationArea".
  8. Always show notification icon (alwaysShowNotificationIcon):

    • Description: Controls whether the terminal places its icon in the notification area.
    • Options: true, false.
    • Default Value: false.
    • Important: Renamed from "alwaysShowTrayIcon" to "alwaysShowNotificationIcon".
  9. Tab settings:

    • Tab switcher interface style (tabSwitcherMode):

      • Description: Defines the style of the tab switcher UI for nextTab and prevTab commands.
      • Options: true, false, "mru", "inOrder", "disabled".
      • Default Value: "inOrder".
    • Enable tab switcher (useTabSwitcher):

      • Description: Activates or deactivates the tab switcher UI for nextTab and prevTab commands.
      • Options: true, false.
      • Default Value: true.
      • Caution: No longer available in versions 1.5 and later; use "tabSwitcherMode" instead.
  10. Automatically hide on focus loss (autoHideWindow):

    • Description: Allows the Terminal window to automatically hide on losing focus.
    • Options: true, false.
    • Default Value: false.
  11. Automatically focus pane on mouse hover (focusFollowMouse):

    • Description: Moves focus to the pane on mouse hover when set to true.
    • Options: true, false.
    • Default Value: false.
  12. Automatically detect URLs and make them clickable (experimental.detectURLs):

    • Description: Enables or disables the detection of URLs in the terminal for clickable links.
    • Options: true, false.
    • Default Value: true.
    • Important: An experimental feature; continued existence not guaranteed.
  13. Paste warnings:

    • Warn when the text to paste is very large (largePasteWarning):

      • Description: Prompts a warning when pasting text exceeding 5 KiB.
      • Options: true, false.
      • Default Value: true.
    • Warn when the text to paste contains multiple lines (multiLinePasteWarning):

      • Description: Prompts a warning when pasting text with multiple lines.
      • Options: true, false.
      • Default Value: true.
  14. Legacy input encoding:

    • Force the terminal to use the legacy input encoding (experimental.input.forceVT):
      • Description: Determines whether the terminal uses legacy input encoding.
      • Options: true, false.
      • Default Value: false.
  15. Context Menu:

    • The context menu in the Windows Terminal (experimental.rightClickContextMenu):
      • Description: Activates or deactivates the context menu on right-click in the Terminal.
      • Options: true, false.
      • Default Value: false.
  16. Web searching:

    • Default URL for web searching (searchWebDefaultQueryUrl):
      • Description: Specifies the default URL for web searches from the terminal.
      • Options: URL as a string.
      • Default Value: .
      • Important: Available in Windows Terminal Preview.

These configurations provide a nuanced control over the behavior and appearance of the terminal, catering to individual preferences and workflow requirements. As an enthusiast, I encourage users to experiment with these settings to create a personalized and efficient terminal experience.

Windows Terminal Interaction Settings (2024)

FAQs

What is the maximum history size in Windows Terminal? ›

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 .

What is the difference between Windows Terminal and Windows Terminal preview? ›

What is the difference between Windows Terminal and Windows Terminal (Preview)? Windows Terminal is the stable public release and receives regular updates that have been tested and debugged in the preview release.

Where are Windows Terminal settings saved? ›

1 Answer
  • Terminal (stable / general release): %LOCALAPPDATA%\Packages\Microsoft. WindowsTerminal_8wekyb3d8bbwe\LocalState\settings. ...
  • Terminal (preview release): %LOCALAPPDATA%\Packages\Microsoft. ...
  • Terminal (unpackaged: Scoop, Chocolately, etc): %LOCALAPPDATA%\Microsoft\Windows Terminal\settings.
Nov 21, 2023

How do I see more terminal history? ›

  1. Open your Terminal.
  2. Make an alias of history to show since the first command, type: echo 'alias history="history 1"' >> ~/.zshrc.
  3. Source your configuration file by typing: source ~/.zshrc.
  4. Now finally type: history.
Jul 2, 2021

Is Windows Terminal good? ›

For startups and AI entrepreneurs for example, Windows Terminal's versatility becomes a valuable asset. They can easily switch between different environments to run Python scripts, execute commands within WSL for Linux-based AI tools, and utilize PowerShell for Windows-specific tasks.

Is Windows Terminal better than CMD? ›

Windows Terminal provides a unified interface for accessing multiple shells and supports cross-platform development. Command Prompt, while simpler, remains compatible with legacy applications and offers basic command-line functionality.

What is the best terminal on Windows? ›

12 Best Terminal Emulator Shortlist
  • Yakuake — Best for a drop-down terminal experience.
  • Rocket Terminal Emulator — Best for enterprises with large-scale needs.
  • ConEmu — Best for Windows with tabbed console sessions.
  • PuTTY — Best for simple and effective SSH on Windows.
  • Tabby — Best for open-source enthusiasts on Windows.

How do I edit Windows Terminal? ›

Windows Terminal Settings
  1. Open Settings in Windows Terminal and press the “Open JSON file” button at the bottom left corner. It will open settings. ...
  2. In settings. json , scroll down to find the "schemes" field, which accepts an array of color scheme objects. ...
  3. Save your changes and head back to Windows Terminal.
Jan 28, 2022

What are Windows Terminal profiles? ›

Terminal profiles are platform-specific shell configurations comprised of an executable path, arguments, and other customizations. By default several profiles are automatically detected which can be customized or added to.

How does terminal autocomplete work? ›

Autocomplete operates by registering some variables into the active shell. Thus, the user has two options to work with these tools: manual setup in each shell and activating along with the virtual environment.

Where is autocomplete stored? ›

If you have a Microsoft 365 account, Exchange Server account, or an IMAP account (this is the most common type of other email account), then the AutoComplete list is stored as a hidden file in your Outlook Data File.

How do I open terminal settings in Windows? ›

You can invoke most features of Windows Terminal through the command palette. The default key combination to invoke it is Ctrl+Shift+P . You can also open it using the Command palette button in the dropdown menu.

What is the max command line size in Windows? ›

The maximum length of the string that you can use at the command prompt is 8191 characters. This limitation applies to: the command line. individual environment variables that are inherited by other processes, such as the PATH variable.

What is the standard size of terminal window? ›

The “normal” size for a terminal is 80 columns by 24 rows.

What is the size of Cisco terminal history? ›

To change the size of the current history buffer, use the size keyword followed by the number of lines you want to save in the buffer. The buffer's size can be from 1 to 256 lines. Use Ctrl-P or the up arrow to go up in the history list; use Ctrl-N or the down arrow to return to more recent commands in the list.

What is the buffer size of PowerShell command history? ›

The buffer size indicates how many commands the window will remember. The default is 50, and you can also modify it. I typically save a couple of hundred entries. This means that your PowerShell command history and this command buffer will be almost the same, but at some point they will start diverging.

Top Articles
Latest Posts
Article information

Author: Delena Feil

Last Updated:

Views: 6646

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Delena Feil

Birthday: 1998-08-29

Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543

Phone: +99513241752844

Job: Design Supervisor

Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles

Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.