System.Terminal is a terminal-centric replacement for
With the Windows console host now supporting VT100 sequences, it makes little
sense for console interaction to still be centered around the old Windows
console host and the many limitations it had.
System.Terminal provides an API
centered around a full-featured VT100 terminal and works on
all platforms that .NET Core supports.
Please note that intermixing usage of
not guaranteed to work, even if certain usage patterns of that sort happen to
do so currently. An application using
System.Terminal should avoid
System.Console entirely to ensure that it will work correctly with all
future releases of
To install the core package, run
dotnet add package Terminal. If you are
developing an application that uses the .NET Generic Host (with e.g. ASP.NET
Core or Orleans), you can instead install the extensions package by running
dotnet add package Terminal.Extensions.
See the sample program for examples of what the API can do.
These are useful resources used in the development of
Please see LICENSE.md.
I work on open source software projects such as this one in my spare time, and make them available free of charge under permissive licenses. If you like my work and would like to support me, you might consider donating. Please only donate if you want to and have the means to do so; I want to be very clear that all open source software I write will always be available for free and you should not feel obligated to donate or pay for it in any way.