Windows Terminal

On this page 7

Windows Terminal is Microsoft’s modern terminal application for Windows that hosts command-line shells such as PowerShell, Command Prompt, WSL distributions and SSH sessions in tabs and split panes, with GPU-accelerated text rendering, full Unicode support and a JSON-based settings model. In the context of PowerShell & command line work, it is the window in which shells run, not a shell itself.

Released as open-source software in 2019 and stable since version 1.0 in 2020, Windows Terminal became the default terminal in Windows 11 from version 22H2. It replaced the role of the classic console host for interactive use, while remaining compatible with existing command-line programs through the ConPTY pseudo-console interface.

Terminal, shell and console host

The most important distinction is between the terminal, which draws text and receives keystrokes, and the shell, which interprets commands. Windows Terminal can host many shells at once, and each tab runs its own shell process with its own environment.

ComponentRoleExamples
Terminal applicationRenders output, handles input, tabs and panesWindows Terminal
ShellParses and runs commands and scriptsPowerShell, cmd.exe, bash in WSL
Console hostLegacy window and console API serverconhost.exe
ConPTYPseudo-console bridging console apps to terminalsWindows pseudo-console API
Command-line programTool started by the shellwinget, robocopy, ipconfig
Components involved in a command-line session

ConPTY is the reason Windows Terminal works with decades-old console tools. Programs keep calling the classic console API, and the pseudo-console translates their output into virtual terminal sequences that the terminal renders, the same model used by terminals on Linux and macOS.

Core features of Windows Terminal

Windows Terminal combines workspace management with a much better rendering engine than the classic console window. Its features matter most for administrators who keep several sessions open at once.

FeatureWhat it doesPractical value
TabsSeveral shells in one windowKeeps related sessions together
Split panesDivides a tab horizontally or verticallyWatch a log while running commands
ProfilesNamed launch configurations per shellOne click for PowerShell, WSL or SSH
Command paletteSearchable list of all actionsDiscover features without menus
GPU text renderingHardware-accelerated drawingFast output and smooth scrolling
Unicode and UTF-8Full character and emoji supportCorrect display of non-Latin text
Quake modeDrop-down window from a hotkeyInstant access to a shell
Key features and their practical value

Text appearance is controlled per profile through color schemes, fonts, padding and transparency. Microsoft ships the Cascadia Code and Cascadia Mono fonts with the application, the first with programming ligatures that some users prefer and others disable.

Configuring profiles and settings

All configuration is stored in a settings.json file, editable through the graphical Settings page or directly. The file is organized into a few top-level areas, and defaults apply to every profile unless a profile overrides them.

AreaContentsTypical change
Global settingsDefault profile, startup behavior, themeOpen PowerShell 7 at startup
Profiles defaultsValues shared by all profilesOne font size everywhere
Profiles listCommand line, starting directory, iconAdd an SSH profile for a server
SchemesNamed color palettesDistinct color for production sessions
ActionsKey bindings mapped to commandsCustom shortcut to split a pane
Main areas of the settings file

Dynamic profiles are generated automatically for installed shells such as PowerShell 7 and WSL distributions. Software vendors can also add JSON fragments that register profiles without editing the user’s file.

Launching layouts from the command line

Windows Terminal includes a launcher, wt.exe, that opens windows, tabs and panes from a script or shortcut. This makes repeatable workspace layouts possible for support and development tasks.

  • wt -p "PowerShell" opens a new window with the named profile.
  • wt -d C:\Logs starts the default profile in a specific starting directory.
  • wt new-tab -p "Ubuntu" ; split-pane -V -p "PowerShell" opens a WSL tab with a vertical PowerShell pane beside it.
  • wt -w 0 new-tab adds a tab to the most recent window instead of opening another one.

Inside PowerShell, the semicolon is also a statement separator, so the semicolon between wt subcommands must be escaped with a backtick when the command is run from a PowerShell prompt. This is one of the most common sources of confusion with wt.exe.

Limitations and common mistakes

Windows Terminal is mature, but several behaviors surprise users moving from the classic console. Most problems come from elevation, configuration syntax or expectations about what the terminal controls.

ProblemCauseFix
Cannot mix elevated and normal tabsOne window runs at one integrity levelOpen a separate elevated window
Settings ignoredInvalid JSON in settings.jsonFix syntax; the app reports the error at startup
Wrong characters displayedFont lacks glyphs or code page mismatchUse a complete font and UTF-8 output
Old tool opens in classic windowDefault terminal set to console hostChoose Windows Terminal as default terminal
Execution policy blocks a scriptPowerShell setting, not the terminalAdjust the PowerShell execution policy
Typical problems and their fixes

A frequent misconception is that installing Windows Terminal changes command behavior. It does not: commands, scripts and execution policy belong to the shell. The terminal only changes how sessions are displayed, organized and launched.

The idea in brief

Typing commands on Windows needs two things. One is the program that understands the commands, such as PowerShell. The other is the window where you type and read. Windows Terminal is that window, rebuilt for modern needs.

It works like a web browser with tabs, but for command lines. You can keep PowerShell, a Linux shell and a remote server open side by side. It makes work easier to organize, but it does not change what the commands do.

A practical scenario

A system administrator who manages a small group of Windows servers creates three profiles in Windows Terminal: PowerShell 7 for local work, an SSH profile for a Linux backup server and an elevated profile for maintenance. The production SSH profile uses a red color scheme so that it cannot be confused with a test session.

Each morning a desktop shortcut runs a wt.exe command that opens one tab with two panes: a PowerShell session on the left and a live log view on the right. Setting up the workspace now takes a single click instead of several minutes, and the color coding has prevented commands from being run on the wrong server.