Repolode
contour-terminal

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:iTerm2Windows 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. 1

    Run the dependency install script (may ask for admin password)

    ./scripts/install-deps.sh
  2. 2

    Configure the build with the clang-release CMake preset

    cmake --preset clang-release
  3. 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