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.
| Component | Role | Examples |
|---|---|---|
| Terminal application | Renders output, handles input, tabs and panes | Windows Terminal |
| Shell | Parses and runs commands and scripts | PowerShell, cmd.exe, bash in WSL |
| Console host | Legacy window and console API server | conhost.exe |
| ConPTY | Pseudo-console bridging console apps to terminals | Windows pseudo-console API |
| Command-line program | Tool started by the shell | winget, robocopy, ipconfig |
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.
| Feature | What it does | Practical value |
|---|---|---|
| Tabs | Several shells in one window | Keeps related sessions together |
| Split panes | Divides a tab horizontally or vertically | Watch a log while running commands |
| Profiles | Named launch configurations per shell | One click for PowerShell, WSL or SSH |
| Command palette | Searchable list of all actions | Discover features without menus |
| GPU text rendering | Hardware-accelerated drawing | Fast output and smooth scrolling |
| Unicode and UTF-8 | Full character and emoji support | Correct display of non-Latin text |
| Quake mode | Drop-down window from a hotkey | Instant access to a shell |
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.
| Area | Contents | Typical change |
|---|---|---|
| Global settings | Default profile, startup behavior, theme | Open PowerShell 7 at startup |
| Profiles defaults | Values shared by all profiles | One font size everywhere |
| Profiles list | Command line, starting directory, icon | Add an SSH profile for a server |
| Schemes | Named color palettes | Distinct color for production sessions |
| Actions | Key bindings mapped to commands | Custom shortcut to split a pane |
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:\Logsstarts 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-tabadds 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.
| Problem | Cause | Fix |
|---|---|---|
| Cannot mix elevated and normal tabs | One window runs at one integrity level | Open a separate elevated window |
| Settings ignored | Invalid JSON in settings.json | Fix syntax; the app reports the error at startup |
| Wrong characters displayed | Font lacks glyphs or code page mismatch | Use a complete font and UTF-8 output |
| Old tool opens in classic window | Default terminal set to console host | Choose Windows Terminal as default terminal |
| Execution policy blocks a script | PowerShell setting, not the terminal | Adjust the PowerShell execution policy |
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.