kitty — The Fast, Feature-Rich Terminal with GPU Rendering and Image Protocol
kitty is a feature-rich GPU-accelerated terminal with tabs, splits, SSH integration, and its own terminal graphics protocol used by tools like icat and MPV. It combines the speed of Alacritty with the features of iTerm2.
What it is
kitty is a feature-rich, GPU-accelerated terminal emulator. It uses OpenGL for rendering, which offloads text drawing to the GPU and keeps CPU usage low even with large scrollback buffers. kitty supports tabs, splits, remote control via IPC, and SSH integration with automatic shell setup on remote hosts.
What sets kitty apart is its terminal graphics protocol. Unlike iTerm2's proprietary inline images, kitty's protocol is an open standard adopted by other terminals and tools like ranger, MPV, and neovim image plugins.
How it saves time or tokens
kitty replaces multiple tools. Its built-in icat kitten displays images directly in the terminal without external viewers. The ssh kitten copies your shell config to remote hosts automatically. Tab and split management is built in, eliminating the need for tmux in many workflows.
For AI-assisted workflows, kitty's scriptable remote control means agents can open splits, send commands, and read output programmatically via kitty @ commands.
How to use
- Install kitty:
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin - Configure in
~/.config/kitty/kitty.conffor fonts, colors, and key bindings - Use
ctrl+shift+enterto open a new split,ctrl+shift+tfor a new tab - Display images inline:
kitty +kitten icat image.png
Example
# kitty.conf snippet
font_family JetBrains Mono
font_size 14.0
enable_audio_bell no
# Tab bar style
tab_bar_style powerline
tab_powerline_style slanted
# Open new split with current directory
map ctrl+shift+enter new_window_with_cwd
# Remote control (enable in config)
allow_remote_control yes
listen_on unix:/tmp/kitty_socket
Then from another process:
kitty @ --to unix:/tmp/kitty_socket send-text 'echo hello\n'
Related on TokRepo
- Automation tools -- Automate terminal workflows
- Coding tools -- Developer environment and editor tools
Common pitfalls
- kitty does not support macOS Terminal.app features like Secure Keyboard Entry; use the native kitty.app bundle instead
- The graphics protocol requires applications to explicitly support it; not all TUI tools render images through kitty
- SSH kitten requires Python 3 on the remote host; headless servers without Python need manual shell setup
Frequently Asked Questions
Both use GPU rendering for speed. kitty adds built-in tabs, splits, an image protocol, scriptable remote control, and SSH integration. Alacritty is deliberately minimal and relies on tmux or a tiling window manager for those features.
Yes. kitty runs on Linux (X11 and Wayland) and macOS. It does not support Windows natively. On macOS, it ships as a standalone .app bundle with full Retina display support.
It is an open terminal protocol for displaying images, animations, and video frames inline in the terminal. Unlike sixel or iTerm2 inline images, kitty's protocol supports transparency, animation, and efficient memory-mapped transfers.
You can, but kitty's built-in tabs and splits often make tmux unnecessary. If you use tmux, note that tmux does not pass through the kitty graphics protocol, so inline images will not display inside tmux sessions.
Add map directives in ~/.config/kitty/kitty.conf. For example, 'map ctrl+shift+n new_os_window' opens a new window. kitty supports hundreds of actions including launching programs, sending text, and controlling layout.
Citations (3)
- kitty GitHub— kitty is a GPU-accelerated terminal emulator with an image protocol
- kitty Docs— kitty graphics protocol specification
- kitty Docs— SSH kitten for automatic remote shell integration
Related on TokRepo
Discussion
Related Assets
DTM — Distributed Transaction Manager for Microservices
A cross-language distributed transaction framework supporting Saga, TCC, XA, and two-phase message patterns for reliable microservice coordination.
WatermelonDB — Reactive Database for React Native Apps
A high-performance reactive database framework for React Native and React web apps, built on top of SQLite with lazy loading and sync primitives.
Dexie.js — Minimalist IndexedDB Wrapper for the Web
A lightweight wrapper around IndexedDB that provides a clean Promise-based API for client-side storage in web applications.