# Home

**Cathode** is a toolkit for writing terminal-based applications. It is\
effectively a complete replacement for the .NET console APIs.

With Windows Terminal having replaced the old Windows console host, it makes\
little sense for console interaction to still be centered around the old console\
host and the many limitations it had. **Cathode** provides an API centered\
around a [VT100 terminal](https://vt100.net) with some extensions from later\
models and modern terminal emulators. It works on all desktop platforms that\
.NET supports.

Please note that, since **Cathode** replaces a very fundamental component of the\
framework, the use of certain framework APIs (e.g. `System.Console`) becomes\
problematic. An analyzer will automatically diagnose usage of such APIs and\
suggest working replacements.

## Terminals

**Cathode** aims to have excellent support for the following terminal emulators,\
multiplexers, and libraries:

* [Alacritty](https://alacritty.org)
* [Black Box](https://gitlab.gnome.org/raggesilver/blackbox)
* [ConEmu](https://conemu.github.io)
* [Contour](https://contour-terminal.org)
* [foot](https://codeberg.org/dnkl/foot)
* [Ghostty](https://ghostty.org)
* [GNOME Terminal](https://help.gnome.org/users/gnome-terminal/stable)
* [Guake](http://guake.org)
* [hterm](https://hterm.org)
* [iTerm2](https://iterm2.com)
* [kitty](https://sw.kovidgoyal.net/kitty)
* [Konsole](https://konsole.kde.org)
* [mintty](https://mintty.github.io)
* [mlterm](http://mlterm.sourceforge.net)
* [PuTTY](https://www.putty.org)
* [rxvt-unicode](http://software.schmorp.de/pkg/rxvt-unicode.html)
* [sakura](https://www.pleyades.net/david/projects/sakura)
* [Terminal.app](https://support.apple.com/guide/terminal/welcome/mac)
* [Terminology](https://terminolo.gy)
* [Tilix](https://gnunn1.github.io/tilix-web)
* [tmux](https://github.com/tmux/tmux/wiki)
* [VTE](https://gitlab.gnome.org/GNOME/vte)
* [Warp](https://www.warp.dev)
* [WezTerm](https://wezfurlong.org/wezterm)
* [Windows Terminal](https://aka.ms/terminal)
* [Xfce Terminal](https://docs.xfce.org/apps/terminal/start)
* [Xterm.js](https://xtermjs.org)
* [xterm](https://invisible-island.net/xterm)
* [Yakuake](https://apps.kde.org/yakuake)

Even if you are using a terminal emulator that is not listed here, chances are\
that it will work just fine; these are just the ones that are tested regularly\
during development.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vezel.dev/cathode/index.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
