HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
terminal
C++2018–2026
microsoft / terminal

terminal

The new Windows Terminal and the original Windows console host, all in the same place!

202Distinct people
270Mentions
2Explicit recommenders
105.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The new Windows Terminal and the original Windows console host, all in the same place!

GitHub

Where it is used

  • Visual Studio — Visual Studio uses Windows Terminal’s core to power its integrated terminal, providing a more robust terminal experience and faster adoption of new functionality. Source

What people are saying

A quick off-the-cuff remark based solely on the title: in 2024, I think the state of the terminal has never been better, in large part to Microsoft making a high quality…

eminence32 used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

Mentions over time

HN mentions by year270 dated mentions

Observed mentions: 2018-03-30 18:23:14 UTC to 2026-10-22 16:10:14 UTC.

02040602018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 45 mentions; 12 submissions, 33 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 54 mentions; 6 submissions, 48 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 56 mentions; 7 submissions, 49 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 47 mentions; 4 submissions, 43 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 29 mentions; 6 submissions, 23 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 13 mentions; 1 submissions, 12 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC10010
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC451233
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC54648
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC56749
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC47443
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC29623
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC13112
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC909
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC716

What Hacker News says

270 sources
This is obligatory read: https://blog.royalsloth.eu/posts/it-takes-a-phd-to-develop-t... Later, Microsoft fixes the issue but fails to give Muratori credit. After backlash, they went back and gave him a footnote: https://devblogs.microsoft.com/commandline/windows-terminal-... (atlas release section) GitHub thread in question: https://github.com/microsoft/terminal/issues/10362#issuecomm... And this gem: https://github.com/microsoft/terminal/issues/10362#issuecomm...
In Show HN: Shitty – fast terminal. Memory-unsafe and faster than yours
Yes, I know this feeling, it's like typing on air. The Windows Terminal has this same feeling. 8 years ago I opened this issue https://github.com/microsoft/terminal/issues/327 and the creators of the tool explained how they do it. xterm in X11 has this feeling, ghostty does not. It's like being stuck in mud but it's not just ghostty, all GPU accelerated terminals on Linux I tried have this muddy feel. It's interesting because moving windows around feels really smooth (much smoother than X11). I wish this topic was investigated in more depth because inputting text is an important part of a terminal. If anyone wants to experience this with Wayland, try not booting into your desktop environment straight into a tty and then type. xterm in X11 and the Windows Terminal feel like this.
In Ghostty – Terminal Emulator
>I doubt that people think it's the engineering teams that are the problem Did you forget Microsoft engineering response to Casey Muratori "Extremely slow performance when processing virtual terminal sequences"? "I believe what you’re doing is describing something that might be considered an entire doctoral research project in performant terminal emulation as “extremely simple” somewhat combatively." https://github.com/microsoft/terminal/issues/10362#issuecomm... followed by Casey producing evidence for his 'extremely simple' claim in couple of days.
In Another GitHub outage in the same day
Y'know, I spent a week investigating doing something similar with the Windows Terminal about 18 months ago: https://github.com/microsoft/terminal/issues/16495#issuecomm... There's even more under the "Updates archive" expando in that post. It was a pretty compelling prototype. But after I played with Polyglot Notebooks[1], I pretty much just abandoned that experiment. There's a _lot_ of UI that needs to be written to build a notebook-like experience. But the Polyglot notebooks took care of that by just converting the commandline backend to a jupyter kernel. I've been writing more and more script-like experiments in those ever since. Just seems so much more natural to have a big-ol doc full of notes, that just so happens to also have play buttons to Do The Thing. [1]: https://marketplace.visualstudio.com/items?itemName=ms-dotne...
In The terminal of the future
The revealing shibboleth is when people call it "ANSI". (-: "ANSI" is what people call it when they are working from paltry and incomplete samizdat doco of how this stuff works, from Microsoft's old ANSI.SYS appendix to its MS-DOS user manual, to innumerable modern WWW sites all repeating received wisdom. The thing to remember is that the "E" in "ECMA" does not stand for "ANSI". * https://ecma-international.org/publications-and-standards/st... * https://ecma-international.org/publications-and-standards/st... * https://www.itu.int/rec/T-REC-T.416-199303-I If you read ECMA-35, you'll find that there's actually a whole system to escape sequences and control sequences. As I pointed out last month, it's often the case that people who haven't read ECMA-35 don't realize that parameter characters can be more than digits, don't handle intermedi
Read the rest
ate characters, and don't grasp how DEC's question mark and SCO's equals sign fit into the overall picture. People who haven't read ECMA-48 and traced its history don't realize that there's subtlety to missing parameters in control sequences. And people who haven't read ITU/IEC T.416 do what many of us did years ago and get 24-bit colour wrong. Twice over. * https://github.com/tattoy-org/tattoy/issues/105#issuecomment... Other common errors include missing out on all of the other 7-bit aliases for C1 characters. Or not realising that the ECMA-35/ECMA-48 syntax allows for any control sequence to have sub-parameters, not just SGR. Or using regular expressions and pattern matching instead of a state machine. Only a state machine truly handles the fact that in the real world terminals allowed, and enacted, various C0 and C1 control characters in the middle of control sequences, as well as had ways of cancelling or restarting control sequences mid-sequence. * https://github.com/jdebp/nosh/blob/trunk/source/ECMA48Decode... But it gets even worse for a real world control sequence decoder. In the real world, not only do terminals interpret the same control sequences, and their parameters, differently depending from whether the terminal is sending or receiving them; but several terminal emulators like the one in Interix, rxvt, the one built in to Linux, and even XTerm, send control sequences that not only break ECMA-35 but also conflict with received control sequences. So if one wants to be comprehensive and be cabable of decoding real data, one needs a switch to tell the program whether to decode the character stream as if it is being received by the terminal or as if it is being sent by the terminal. * https://jdebp.uk/Softwares/nosh/guide/commands/console-decod... Microsoft Terminal tries to do things properly, which many modern terminal emulators and tools do not, and handles this with two distinct entire state machines, one for input and one for output. * https://github.com/microsoft/terminal/tree/main/src/terminal... I handled it with a few goto statements and a handful of flags. (-: * https://github.com/jdebp/nosh/blob/trunk/source/console-deco...
In Inspect ANSI control codes and escape sequences
> This is not at _all_ my interpretation of Casey and JBlow's views. IMHO this group's canonical lament was expressed by Mike Acton in his "Data-Oriented Design and C++" talk, where he asks: "...Then why does it take Word 2 seconds to start up?!"[0]. See also Muratori's bug reports which seem similar[1]. I think it is important to note, as the parent comment alludes, that these performance problems are real problems, but they are usually not correctness problems (for the counterpoint, see certain real time systems). To listen to Blow, who is actually developing a new programming language, it seems his issue with C++ is mostly about how it slows down his development speed, that is -- C++ compilers aren't fast enough, not the "correctness" of his software [2]. Blow has framed these same performance problems as problems in software "quality
Read the rest
", but this term seems share the same misunderstanding as "correctness". And therefore seems to me like another equivocation. Software quality, to me, is dependent on the domain. Blow, et. al, never discuss this fact. Their argument is more like -- what if all programmers were like John Carmack and Michael Abrash? Instead of recognizing software is an economic activity and certain marginal performance gains are often left on the table, because most programmers can't be John Carmack and Michael Abrash all the time. [0]: https://www.youtube.com/watch?v=rX0ItVEVjHc [1]: https://github.com/microsoft/terminal/issues/10362 [2]: https://www.youtube.com/watch?v=ZkdpLSXUXHY
In A software conference that advocates for quality

Showing the 15 most recent of 270 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.