kitty
GPU-accelerated terminal emulator with extensible architecture
AI Summary
kitty is a modern, GPU-accelerated terminal emulator with extensible architecture. It offers comprehensive features such as tabs, split windows, remote control API, shell integration, and extensible "Kittens" for functions like diff, image display, and SSH integration.
✓ Pros
- + GPU acceleration for excellent performance
- + Comprehensive Kittens extension system for advanced functionality
- + Integrated shell integration and remote control API
✗ Cons
- − Steeper learning curve due to extensive configuration options
- − Primarily optimized for Linux and macOS
Use Cases
- → Efficient terminal management with tabs and flexible window layouts
- → GPU-accelerated rendering for fast performance with large outputs
- → Advanced SSH workflows with automatic terminfo transfer and file transfer
- → Scripting and automation via remote control protocol
Who is it for?
Developers and power users seeking a highly configurable, performant terminal emulator with advanced scripting capabilities.
Tags
What is kitty?
kitty is a terminal emulator that offloads rendering to the GPU. This makes a noticeable difference with large outputs, such as scrolling through long log files or colour rendering with many simultaneous changes. kitty runs on Linux and macOS and is available as an open-source project.
Core features
- Tabs and split windows: Multiple sessions can be managed in a single window, with flexible layout options for splitting.
- Kittens: Extensible modules for specific tasks. These include a diff viewer, image display directly in the terminal, and an SSH integration with automatic terminfo transfer and file transfer.
- Remote control API: External processes can control kitty via a protocol, for example to open windows, send content or change layouts.
- Shell integration: kitty hooks into common shells and provides additional context information there, such as for navigating command history.
- Extensive configuration: Almost every behaviour can be adjusted via a text file, from key bindings to rendering parameters.
Who is kitty for?
kitty is aimed at developers who want to deeply customise and automate their terminal emulator. The remote control API makes the tool particularly useful for scripting workflows where the terminal itself is part of a larger automation chain. Those who work on remote systems via SSH benefit from automatic terminfo transfer, which saves manual setup steps.
The configuration is extensive. New users can easily get lost in the number of options before the first keybinding is in place. Windows is not supported.
Context & alternatives
kitty belongs to a generation of terminal emulators that use GPU rendering as their foundation. Alacritty follows a similar approach but omits built-in tab management, favouring minimalism instead. WezTerm also offers GPU rendering with multiplexer features and Lua configuration, making it the most direct point of comparison. Compared to classic emulators such as GNOME Terminal or iTerm2, kitty sits firmly in the category of configuration- and script-driven tools. Those who want to use the Kittens system will find features there that other emulators cover only through external tools or plugins.