# Spectre.Console Documentation > Beautiful console applications with Spectre.Console site: https://spectreconsole.net canonical: https://spectreconsole.net/llms.txt generated: 2026-07-16 16:02 UTC version: 0.57.2 ## Map - [CLI reference](https://spectreconsole.net/cli/reference/api/llms.txt) (55 entries, ~13k tokens) — Spectre.Console.Cli — command, configuration, and settings types. - [Console reference](https://spectreconsole.net/console/reference/api/llms.txt) (240 entries, ~72k tokens) — Spectre.Console — widgets, prompts, rendering, and markup types. - [Spectre.Console](https://spectreconsole.net/index.md): Beautiful, cross-platform console applications for .NET - tables, charts, prompts, and live displays. ## Blog - [Hello, World](https://spectreconsole.net/blog/2021-07-11-hello-world.md): To help track new releases, updates and planning for Spectre.Console, we've added a new blog to the documentation. - [Spectre.Console 0.41 released!](https://spectreconsole.net/blog/2021-07-19-spectre-console-0.41-released.md): In this release we (mostly Phil) have been focusing on getting the new fancy Roslyn Analyzers out the door... - [Spectre.Console 0.43 released!](https://spectreconsole.net/blog/2021-12-16-spectre-console-0.43-released.md): Now with .NET 6 support... and more! - [Spectre.Console 0.44 released!](https://spectreconsole.net/blog/2022-03-27-spectre-console-0.44-released.md): Alternate screen buffers, better exception rendering... and more! - [Spectre.Console 0.45 released!](https://spectreconsole.net/blog/2022-09-10-spectre-console-0.45-released.md): .NET 5 dropped, Spectre.Console.Cli moved to separate NuGet package - [Spectre.Console 0.46 released!](https://spectreconsole.net/blog/2023-01-10-spectre-console-0.46-released.md): .NET 7 support, Layout Widget, JSON rendering - [Spectre.Console 0.47 released!](https://spectreconsole.net/blog/2023-05-19-spectre-console-0.47-released.md): Alacritty terminal support, command line improvements - [Spectre.Console 0.48 released!](https://spectreconsole.net/blog/2023-11-22-spectre-console-0.48-released.md): .NET 8, custom help providers, and more! - [Spectre.Console 0.49 released!](https://spectreconsole.net/blog/2024-04-23-spectre-console-0.49-released.md): Bug fixes, bug fixes, bug fixes - [Spectre.Console 0.50 released!](https://spectreconsole.net/blog/2025-04-08-spectre-console-0.50-released.md): Now with 25% less lead! - [Spectre.Console 0.51.1 released!](https://spectreconsole.net/blog/2025-09-07-spectre-console-0.51-released.md): Not a substitute for human interaction. - [Spectre.Console 0.52.0 released!](https://spectreconsole.net/blog/2025-10-10-spectre-console-0.52-released.md): Don't eat (too much) glue. - [Spectre.Console 0.53.0 released!](https://spectreconsole.net/blog/2025-10-26-spectre-console-0.53-released.md): Someone said CancellationToken? - [Spectre.Console 0.54.0 released!](https://spectreconsole.net/blog/2025-11-13-spectre-console-0.54-released.md): Spectre.Console.Cli has a new home! - [Spectre.Console 0.55.0 released!](https://spectreconsole.net/blog/2025-11-13-spectre-console-0.55-released.md): Now in Technicolor! - [Spectre.Console 0.56.0 released!](https://spectreconsole.net/blog/2026-06-06-spectre-console-0.56-released.md): Still not written in Rust. - [Spectre.Console 0.57.0 released!](https://spectreconsole.net/blog/2026-06-11-spectre-console-0.57-released.md): Contents may have settled during shipping. ## Spectre.Console Documentation ### Tutorials - [Building a Rich Console App](https://spectreconsole.net/console/tutorials/getting-started-building-rich-console-app.md): A beginner-friendly tutorial that walks through creating a simple console application using Spectre.Console - [Asking User Questions](https://spectreconsole.net/console/tutorials/interactive-prompts-tutorial.md): Learn to ask the user simple questions and use their answers - [Showing Status and Spinners](https://spectreconsole.net/console/tutorials/status-spinners-tutorial.md): Display animated spinners while operations are running - [Showing Progress Bars](https://spectreconsole.net/console/tutorials/progress-bars-tutorial.md): A beginner-friendly tutorial that walks through creating animated progress bars to track long-running operations - [Creating a Custom IRenderable](https://spectreconsole.net/console/tutorials/creating-custom-renderables-tutorial.md): Build a reusable Pill widget by implementing the IRenderable interface ### How-To Guides - [Prompt for User Input](https://spectreconsole.net/console/how-to/prompting-for-user-input.md): Collect input from users with text prompts, confirmations, and selection menus - [Display Tabular Data](https://spectreconsole.net/console/how-to/displaying-tabular-data.md): Display structured data in tables with borders, alignment, and styling - [Show Progress Bars](https://spectreconsole.net/console/how-to/showing-progress-bars.md): Display progress bars for long-running operations with percentage completion - [Show Activity Status](https://spectreconsole.net/console/how-to/showing-activity-status.md): Display a spinner for operations without measurable progress - [Escape Markup](https://spectreconsole.net/console/how-to/escaping-markup.md): Safely display user input, array indexers, and JSON without markup parsing errors - [Write Exceptions](https://spectreconsole.net/console/how-to/writing-exceptions.md): Display formatted exception details with stack traces, colors, and clickable links - [Display Hierarchical Data](https://spectreconsole.net/console/how-to/displaying-hierarchical-data.md): Visualize nested structures using tree views with customizable styling - [Organize Layout](https://spectreconsole.net/console/how-to/organizing-layout-with-panels-and-grids.md): Arrange content using panels, columns, grids, and alignment - [Update Content Live](https://spectreconsole.net/console/how-to/live-rendering-and-dynamic-updates.md): Update console output in-place without scrolling - [Run Tasks with a Spinner](https://spectreconsole.net/console/how-to/running-tasks-with-async-spinner.md): Show a spinner animation while awaiting async operations - [Draw Charts](https://spectreconsole.net/console/how-to/drawing-charts-and-diagrams.md): Visualize data with bar charts, breakdown charts, and calendars - [Test Console Output](https://spectreconsole.net/console/how-to/testing-console-output.md): Write unit tests for console applications using TestConsole - [Create Custom Renderables](https://spectreconsole.net/console/how-to/creating-custom-renderables.md): Build your own widgets by implementing IRenderable - [Write ANSI](https://spectreconsole.net/console/how-to/writing-ansi.md): How to write ANSI/VT sequences and markup without the Spectre.Console library ### Widgets - [Text Widget](https://spectreconsole.net/console/widgets/text.md): Render styled text with precise control over formatting and overflow - [Markup Widget](https://spectreconsole.net/console/widgets/markup.md): Render styled text using an inline markup syntax - [Panel Widget](https://spectreconsole.net/console/widgets/panel.md): Create bordered boxes around content with customizable headers, padding, and styles - [TextPath Widget](https://spectreconsole.net/console/widgets/text-path.md): Display file paths with intelligent truncation and component styling - [Table Widget](https://spectreconsole.net/console/widgets/table.md): Display tabular data with customizable columns, rows, borders, and styling - [Tree Widget](https://spectreconsole.net/console/widgets/tree.md): Display hierarchical data structures with expandable tree views - [Columns Widget](https://spectreconsole.net/console/widgets/columns.md): Display content side-by-side in columns with automatic width distribution - [Rule Widget](https://spectreconsole.net/console/widgets/rule.md): Create horizontal dividers and section separators with optional titles - [Grid Widget](https://spectreconsole.net/console/widgets/grid.md): Arrange content in rows and columns without visible borders for flexible layouts - [Rows Widget](https://spectreconsole.net/console/widgets/rows.md): Stack multiple renderables vertically with consistent spacing - [Layout Widget](https://spectreconsole.net/console/widgets/layout.md): Create complex multi-section layouts with the flexible Layout widget - [Padder Widget](https://spectreconsole.net/console/widgets/padder.md): Add padding around any renderable content - [Align Widget](https://spectreconsole.net/console/widgets/align.md): Control horizontal and vertical alignment of content - [FigletText Widget](https://spectreconsole.net/console/widgets/figlet.md): Create large ASCII art text banners using FIGlet fonts - [BarChart Widget](https://spectreconsole.net/console/widgets/bar-chart.md): Display data as horizontal bars with labels, values, and colors - [BreakdownChart Widget](https://spectreconsole.net/console/widgets/breakdown-chart.md): Display proportional data as a colored bar chart with optional legend - [Calendar Widget](https://spectreconsole.net/console/widgets/calendar.md): Display monthly calendars with highlighted dates and events - [JsonText Widget](https://spectreconsole.net/console/widgets/json.md): Render JSON data with syntax highlighting and customizable colors - [Canvas Widget](https://spectreconsole.net/console/widgets/canvas.md): Draw pixel-level graphics and patterns in the console - [CanvasImage Widget](https://spectreconsole.net/console/widgets/canvas-image.md): Display image files in the console using pixel-based rendering ### Live - [Progress Display](https://spectreconsole.net/console/live/progress.md): Show progress bars and task status for long-running operations - [Status Display](https://spectreconsole.net/console/live/status.md): Show animated status indicators with spinners for ongoing operations - [Live Display](https://spectreconsole.net/console/live/live-display.md): Update and refresh any renderable content dynamically in real-time ### Prompts - [TextPrompt](https://spectreconsole.net/console/prompts/text-prompt.md): Prompt users for text input with validation and default values - [SelectionPrompt](https://spectreconsole.net/console/prompts/selection-prompt.md): Let users select a single option from a list with keyboard navigation - [MultiSelectionPrompt](https://spectreconsole.net/console/prompts/multi-selection-prompt.md): Allow users to select multiple options from a list ### Explanation - [Understanding Spectre.Console's Rendering Model](https://spectreconsole.net/console/explanation/understanding-rendering-model.md): An in-depth explanation of how Spectre.Console renders text and widgets to the terminal - [Async Patterns](https://spectreconsole.net/console/explanation/async-patterns.md): Best practices for using live rendering with asynchronous operations ### Reference - [Color Reference](https://spectreconsole.net/console/reference/color-reference.md): A comprehensive reference of color usage in Spectre.Console - [Markup Reference](https://spectreconsole.net/console/reference/markup-reference.md): Complete reference for Spectre.Console's inline markup syntax including tags, colors, styles, links, and escaping - [Box Border Reference](https://spectreconsole.net/console/reference/box-border-reference.md): A complete reference of all box border styles available in Spectre.Console - [Text Style Reference](https://spectreconsole.net/console/reference/text-style-reference.md): A comprehensive reference of text styles and decoration options in Spectre.Console - [Capabilities Reference](https://spectreconsole.net/console/reference/capabilities-reference.md): Complete reference for terminal capabilities, environment variables, and CI detection in Spectre.Console - [Table Border Reference](https://spectreconsole.net/console/reference/table-border-reference.md): A complete reference of all table border styles available in Spectre.Console - [Spinner Styles Reference](https://spectreconsole.net/console/reference/spinner-reference.md): A reference of built-in spinner animations available for the Status and Spinner APIs - [Tree Guide Reference](https://spectreconsole.net/console/reference/tree-guide-reference.md): A complete reference of all tree guide styles available in Spectre.Console - [Emoji Reference](https://spectreconsole.net/console/reference/emoji-reference.md): A list of all emoji shortcodes supported by Spectre.Console's Markup ## Spectre.Console.Cli Documentation ### Tutorials - [Quick Start: Your First CLI App](https://spectreconsole.net/cli/tutorials/quick-start-your-first-cli-app.md): Build your first command-line application with Spectre.Console.Cli - [Building a Multi-Command CLI Tool](https://spectreconsole.net/cli/tutorials/building-a-multi-command-cli-tool.md): Build a CLI application with multiple commands, subcommands, and shared settings - [Dependency Injection in CLI Apps](https://spectreconsole.net/cli/tutorials/dependency-injection-in-cli-apps.md): Inject services into your CLI commands using Microsoft.Extensions.DependencyInjection - [Logging in CLI Apps](https://spectreconsole.net/cli/tutorials/logging-in-cli-apps.md): Add structured logging to your CLI commands using Microsoft.Extensions.Logging ### How-To Guides - [Defining Commands and Arguments](https://spectreconsole.net/cli/how-to/defining-commands-and-arguments.md): How to declare command-line parameters (arguments and options) using Spectre.Console.Cli's attributes and settings classes - [Making Options Required](https://spectreconsole.net/cli/how-to/making-options-required.md): How to make command-line options required instead of optional in Spectre.Console.Cli - [Handling Errors and Exit Codes](https://spectreconsole.net/cli/how-to/handling-errors-and-exit-codes.md): How Spectre.Console.Cli deals with exceptions and how to customize error handling - [Async Commands and Cancellation](https://spectreconsole.net/cli/how-to/async-commands-and-cancellation.md): How to create asynchronous commands and handle cancellation in Spectre.Console.Cli - [Configuring CommandApp and Commands](https://spectreconsole.net/cli/how-to/configuring-commandapp-and-commands.md): How to register commands with the CommandApp and configure global settings - [Customizing Help Text and Usage](https://spectreconsole.net/cli/how-to/customizing-help-text-and-usage.md): How to tailor the automatically generated help output of Spectre.Console.Cli - [Working with Multiple Command Hierarchies](https://spectreconsole.net/cli/how-to/working-with-multiple-command-hierarchies.md): How to create hierarchical (nested) commands using branching - [Using Flag Arguments](https://spectreconsole.net/cli/how-to/using-flag-arguments.md): How to use FlagValue for optional flag arguments that may or may not include a value - [Using Dictionary and Lookup Options](https://spectreconsole.net/cli/how-to/using-dictionary-and-lookup-options.md): How to accept key-value pairs using IDictionary, ILookup, and IReadOnlyDictionary options - [Using Custom Type Converters](https://spectreconsole.net/cli/how-to/using-custom-type-converters.md): How to create and apply custom type converters for complex command-line argument types - [Testing Command-Line Applications](https://spectreconsole.net/cli/how-to/testing-command-line-applications.md): How to test CLI apps built with Spectre.Console.Cli to ensure they parse and execute correctly - [Hiding Commands and Options](https://spectreconsole.net/cli/how-to/hiding-commands-and-options.md): How to hide commands and options from help output while keeping them functional - [Intercepting Command Execution](https://spectreconsole.net/cli/how-to/intercepting-command-execution.md): How to use command interceptors to run logic before or after any command executes ### Reference - [Attribute and Parameter Reference](https://spectreconsole.net/cli/reference/attribute-and-parameter-reference.md): A summary of all attributes and parameter-related features in Spectre.Console.Cli - [Type Converters](https://spectreconsole.net/cli/reference/type-converters.md): Reference for type conversion in Spectre.Console.Cli command-line parsing - [CommandContext Reference](https://spectreconsole.net/cli/reference/command-context.md): Reference documentation for the CommandContext class in Spectre.Console.Cli - [Built-in Command Behaviors](https://spectreconsole.net/cli/reference/built-in-command-behaviors.md): A reference describing Spectre.Console.Cli's built-in behaviors and conventions for completeness ### Explanation - [Design Philosophy: Convention over Configuration](https://spectreconsole.net/cli/explanation/design-philosophy-convention-over-configuration.md): An explanation of the guiding philosophy behind Spectre.Console.Cli - [Command Lifecycle and Execution Flow](https://spectreconsole.net/cli/explanation/command-lifecycle-and-execution-flow.md): An explanatory deep-dive into what happens from the moment app.Run(args) is called to when a command finishes execution