A GPU-rendered terminal emulator in Rust whose background server keeps shells and panes alive after the window closes, with agent-aware sessions and SSH remote work.
contour-terminal/contour
A modern, GPU-accelerated C++ terminal emulator for Windows, macOS, Linux and BSD with persistent sessions, tabs, splits and graphics support.
Open-source alternative to:iTerm2
Windows Terminal
- Stars
- 3,072
- Forks
- 158
- Open issues
- 163
- Last commit
- 2 hours ago
What is it?
Contour is a modal, virtual terminal emulator written in C++ for power users. It runs on Windows 11, macOS, Linux, FreeBSD and OpenBSD, and uses GPU-accelerated rendering with support for font ligatures, full Unicode with grapheme clusters, and emoji.
A background daemon hosts shell sessions by default, so closing the window or losing an SSH connection does not end them. Sessions can be reattached locally, over SSH or over TLS, and the workspace can be restored after a reboot. Tabs, split panes and layouts can be rearranged by drag-and-drop, and command blocks show exit status, duration and folding for each command.
Contour supports Sixel, the kitty graphics protocol and ReGIS graphics, along with OSC 52 clipboard and OSC 8 hyperlinks. A control API and CLI let scripts and an MCP server drive panes and tabs, and it can interoperate with tmux in both directions.
Key features
- 01Background daemon keeps shell sessions alive across window closes, SSH drops and reboots.
- 02Tabs, split panes, named layouts and drag-and-drop rearranging.
- 03Command blocks with exit status, folding and shell integration for bash, zsh, fish, tcsh and PowerShell.
- 04GPU-accelerated rendering with font ligatures, Unicode grapheme clusters and emoji.
- 05Sixel, kitty graphics protocol and ReGIS graphics support.
- 06Control API, CLI and MCP server for scripting panes and tabs.
Use cases
- Keeping long-running builds or remote SSH work alive when the connection or window closes.
- Using a modern terminal on Windows 11 or macOS with tabs, splits and graphics output.
- Letting coding agents such as Claude Code drive their own terminal tab through MCP.
- Viewing images or charts directly in the terminal with Sixel or kitty graphics.
Quick start
- 1
Run the dependency install script (may ask for admin password)
./scripts/install-deps.sh - 2
Configure the build with the clang-release CMake preset
cmake --preset clang-release - 3
Compile contour with the same preset
cmake --build --preset clang-release
Things to know
- Building from source needs a C++23 toolchain and several system dependencies installed by a script.
- Windows builds need Windows 10 or newer, Visual Studio 2019 and Qt6, and older Windows versions are not supported.
- Requires OpenGL 3.3 or a software rasterizer for rendering.
In collections
Topics
FAQ
- What is contour?
- A modern, GPU-accelerated C++ terminal emulator for Windows, macOS, Linux and BSD with persistent sessions, tabs, splits and graphics support. Contour is a modal, virtual terminal emulator written in C++ for power users. It runs on Windows 11, macOS, Linux, FreeBSD and OpenBSD, and uses GPU-accelerated rendering with support for font ligatures, full Unicode with grapheme clusters, and emoji.
- Is contour free to use? What license does it have?
- contour is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is contour still maintained?
- Actively maintained. The last commit to contour was on Nov 7, 2026.
- What can I use contour for?
- Keeping long-running builds or remote SSH work alive when the connection or window closes. Using a modern terminal on Windows 11 or macOS with tabs, splits and graphics output. Letting coding agents such as Claude Code drive their own terminal tab through MCP. Viewing images or charts directly in the terminal with Sixel or kitty graphics.
- How do I install contour?
- Run the dependency install script (may ask for admin password): ./scripts/install-deps.sh Configure the build with the clang-release CMake preset: cmake --preset clang-release Compile contour with the same preset: cmake --build --preset clang-release
- Where can I get contour?
- The source code and installation instructions are on GitHub: https://github.com/contour-terminal/contour
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Fast, native, feature-rich terminal emulator with platform-native UIs and GPU rendering, plus a libghostty library for embedding terminals.
A fast, feature-rich, GPU-based terminal emulator that runs on Linux, macOS and other platforms.
A self-contained, themeable tmux configuration with a Powerline-style status line, mouse mode, clipboard integration and TPM plugin support.
A macOS terminal emulator that replaces the built-in Terminal app with tmux integration, shell awareness, inline images and session restoration.
A remote shell client and server that keeps SSH-style sessions alive and reconnects automatically after network changes.