Microsoft Open-Sources Windows Terminal and the Console Host
Announced at Build 2019 and pushed to GitHub May 3, 2019, Windows Terminal brought tabs and modern rendering to the command line, fully open source.
Windows Terminal was announced at Microsoft’s Build 2019 developer conference, with its source code appearing publicly on GitHub on May 3, 2019 — alongside the surprising additional news that the original Windows Console host itself, the decades-old component underlying cmd.exe, was being open-sourced too.
What Windows Terminal actually addressed
Windows’ traditional console host had gone years without significant modernization — no tabs, limited font rendering, weak Unicode support. Windows Terminal was built as a genuinely new, modern terminal application supporting multiple tabs and panes, GPU-accelerated text rendering, and proper Unicode/emoji support, designed to work equally well with Command Prompt, PowerShell, and WSL sessions side by side.
Why open-sourcing the legacy console host mattered too
The original console host had accumulated decades of undocumented behavior that huge amounts of existing software depended on — open-sourcing it let the community actually see and reason about that behavior directly, rather than treating it as an opaque legacy component Microsoft alone could touch. Combined with Windows Terminal’s own open development on GitHub, it signaled a broader shift in how Microsoft was willing to develop core Windows tooling: in the open, with public issue tracking and external contributions, rather than as closed, internally-developed components.
Tabs: the single most requested feature
Multiple tab support was, by Microsoft’s own account, the most frequently requested capability from users of the legacy console — a feature so basic to modern terminal emulators elsewhere that its absence had become one of the most visible gaps between the Windows command-line experience and Linux/macOS terminal applications.
Why this fit a broader pattern at Microsoft
Windows Terminal’s open-source release came during the same broader era as Windows Subsystem for Linux’s continued investment and Docker’s contemporaneous move to donate containerd to the CNCF — part of a sustained shift in how seriously Microsoft was investing in open-source tooling and Linux/developer-experience parity on Windows, rather than treating them as secondary concerns.
A new font shipped alongside it
The same announcement bundled a companion release easy to overlook next to the terminal application itself: Cascadia Code, a new monospaced font designed specifically for the coding and terminal use case, including built-in programming ligatures (rendering sequences like -> or != as a single combined glyph) and a design tuned for the kind of dense, information-heavy text a modern terminal or code editor actually displays. Shipping a purpose-built font alongside the terminal application itself reflected the same “get the whole experience right, not just one component” thinking behind the broader Windows Terminal project — a genuinely modern terminal needed genuinely modern text rendering to actually show off its GPU-accelerated rendering pipeline, not just new application chrome wrapped around the same old default system font.
Built in the open from day one, not open-sourced after the fact
Windows Terminal wasn’t developed privately and released as open source only once finished — its GitHub repository, public issue tracker, and pull-request-based contribution process were live from the very beginning, with Microsoft’s own engineers and outside community contributors working from the identical public repository throughout development. This distinction mattered for how the community actually engaged with the project: contributors could see roadmap discussions, propose features, and land real code changes well before a first stable release existed at all, a meaningfully different relationship than a corporate open-source release that opens the source code only after the interesting design decisions have already been made internally and finalized.
Related:
- How to Configure Windows Terminal and PowerShell Profiles
- Windows PowerShell 1.0 Ships, Ending Its Life as ‘Monad’
Sources: