Cross platform Terminal UI toolkit for .NET
$ dotnet add package Terminal.GuiCross-platform UI toolkit for building sophisticated terminal UI (TUI) applications on Windows, macOS, and Linux/Unix.

Important:
- v1 is in maintenance mode - only critical bug fixes accepted
- v2 Beta is recommended for new projects - API is stable with comprehensive features
- Breaking changes possible before Beta, but core architecture is solid

Install the Terminal.Gui.Templates, create a new TUI app, and run it:
dotnet new install Terminal.Gui.Templates@2.0.0-beta.*
dotnet new tui-simple -n myproj
cd myproj
dotnet run
Run the comprehensive UI Catalog demo to explore all controls:
dotnet run --project Examples/UICatalog/UICatalog.csproj
using Terminal.Gui.App;
using Terminal.Gui.ViewBase;
using Terminal.Gui.Views;
using IApplication app = Application.Create ();
app.Init ();
using Window window = new () { Title = "Hello World (Esc to quit)" };
Label label = new ()
{
Text = "Hello, Terminal.Gui v2!",
X = Pos.Center (),
Y = Pos.Center ()
};
window.Add (label);
app.Run (window);
See the Examples directory for more.
Terminal.Gui enables building sophisticated console applications with modern UIs:
See the Views Overview for available controls and What's New in v2 for architectural improvements.
Comprehensive documentation is at gui-cs.github.io/Terminal.Gui.
See the documentation index for all topics.
dotnet add package Terminal.Gui --version "2.0.0-beta.*"
dotnet add package Terminal.Gui --version "2.0.0-develop.*"
Or use the Terminal.Gui.Templates:
dotnet new install Terminal.Gui.Templates@2.0.0-beta.*
dotnet add package Terminal.Gui --version "1.*"
Contributions welcome! See CONTRIBUTING.md.
See gui-cs for project history and origins.