kitty
A GPU-rendered terminal emulator for Linux, macOS and BSD
Built by @kovidgoyal on GitHub. This page was written by @iluxav from public sources, last updated for v0.49.2 (2026-10-01), and may lag behind new releases.
Maintain kitty? Claim itRun a terminal with images, tabs, splits and layouts, scriptable control, saved sessions and SSH integration, rendered on the GPU.
What you can do with it
Show images and animations inside the terminal, for example with the icat kitten.
Arrange terminal windows in tabs, splits and switchable layouts inside one kitty window.
Control kitty from scripts or the shell: open windows, send text, change colors and query state.
Start a saved working environment of tabs, windows and programs from a session file, and switch between sessions.
SSH into remote machines with shell integration and kitty's terminfo set up automatically.
Jump between shell prompts and open the scrollback or the last command's output in a pager.
Good to know
Needs kitty's shell integration for bash, zsh or fish.
Open URLs and hyperlinks in terminal output by clicking them, with configurable actions per link type.
Show all 23
Select URLs, file paths or line numbers on screen from the keyboard and open or insert them.
Browse hundreds of color themes with a live preview and switch kitty's theme.
Show and hide a drop-down terminal with a global shortcut, quake style.
Good to know
On Wayland needs a compositor with the layer-shell protocol.
Run a terminal program as a desktop panel or as the desktop background.
Good to know
On Wayland needs a compositor with the layer-shell protocol.
View side-by-side diffs of files or directories with syntax highlighting and images in the terminal.
Edit or download files from a remote machine inside an existing SSH session, and transfer files over the terminal connection.
Let terminal programs, or your own scripts with the notify kitten, send desktop notifications.
Have kitty read a set of environment variables from your login shell at startup.
Choose files from a keyboard-first picker with previews of text with syntax highlighting, images, videos and e-books.
Browse and run all mapped and unmapped kitty actions from a searchable command palette.
Scroll the scrollback by pixels, with momentum scrolling on Linux touchpads and touchscreens.
Good to know
Momentum scrolling is for Linux; set with pixel_scroll and momentum_scroll.
Drag files from your shell to any GUI program, including from a remote machine over SSH.
Have changes to kitty.conf apply automatically when the file is saved.
See a progress bar at the top of the window when a program reports progress with the OSC 9;4 escape code.
Add graphical effects, such as dimming inactive windows or a cursor trail, with custom shaders.
Before you upgrade
Newest firstThe built-in dim-inactive-windows shader no longer dims the tab bar or the padding, border and margin around the active window.
Read the evidence
clipboard_max_size was read as terabytes and is now applied in megabytes as documented; writes over the limit get an EFBIG error instead of being silently truncated.
Read the evidence
The first click in an unfocused kitty window now focuses it and is also passed to the program under the mouse.
Read the evidence
Show 6 older
Official binaries are now built on Ubuntu 22 instead of 18, so they may not run on distributions older than that; use your distribution's package or build from source there.
Read the evidence
scroll_line_up and scroll_line_down now scroll smoothly by default; map them without the smooth argument to get the old behavior.
Read the evidence
focus_follows_mouse now switches window only when the mouse crosses into another window, not on every movement.
Read the evidence
Built-in shortcuts fall back to the US layout key when a pressed non-English key has no match.
Read the evidence
edit-in-kitty now ignores environment variables and color config passed to it (CVE-2026-42851).
Read the evidence
Saved sessions now keep the visual tab order and the active tab, not the tab activation history.
Read the evidence
Release history 10
Make any text pattern, such as file:line references in compiler output, clickable with detect_url_regex.
Details
New detect_url_regex option. Small program output, such as typed characters, is processed immediately for lower input latency. New cursor-trail-motion-blur shader; the dim-inactive-windows shader no longer dims the tab bar and padding.
Also: Security fix: a remote program could bypass the file transfer confirmation when no bypass password was set.
v0.49.2.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Add graphical effects to the terminal with custom shaders.
Details
Groups v0.49.0 and v0.49.1. Custom shader support, window_border_radius, remap_modifiers, kitten @ screenshot and set-os-window-title, a proportional sizing policy for splits, and sessions that save every layout. clipboard_max_size is now applied in megabytes.
Also: 15 to 35% throughput improvement; remember_window_size keeps the maximized state; macOS Split View tiling.
v0.49.1.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Show the tab bar vertically on the left or right edge of the window.
Details
Groups v0.48.0 to v0.48.2. tab_bar_edge accepts left and right for vertical tabs. The first click in an unfocused window now focuses it and is passed through. Official binaries are built on Ubuntu 22 instead of Ubuntu 18.
Also: kitten @ get-text can read the alternate screen; quick-access-terminal layer is configurable; edit-in-kitty returns the editor's exit code.
v0.48.2.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Even out split sizes with one action, or automatically when a window closes.
Details
Groups v0.47.2 to v0.47.4. Splits layout gains an equalize action and an equalize_on_window_close option. Config watching no longer watches subdirectories recursively. Fontconfig fake italics work on Linux.
Also: Security fixes for color control responses, the file transfer protocol and the dnd kitten (CVE-2026-54055, -54056, -54057).
v0.47.4.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Have automatic config reload work when kitty.conf is a symlink, as in most dotfile setups.
Details
auto_reload_config now follows a symlinked kitty.conf. Panel and quick-access-terminal windows stay on top under KDE on X11 after being hidden.
Also: Tab stops set by programs survive window resizes; DECST8C support.
v0.47.1.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Drag files from your shell into any GUI program, even across SSH.
Details
New dnd kitten for dragging files out of the terminal. Windows can be dragged to rearrange, move or detach. New options auto_reload_config, progress_bar (OSC 9;4) and palette_generate.
Also: Multiple background images kept on the GPU; diff kitten sticky file header.
v0.47.0.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Find and run any kitty action from a searchable command palette.
Details
Groups v0.46.0 to v0.46.2. New command palette; tabs can be dragged to reorder, move or detach; window borders can be dragged to resize; optional per-window title bars; pixel scrolling (pixel_scroll) and Linux momentum scrolling (momentum_scroll).
Also: Colors in kitty.conf can be written in OKLCH or LAB; Wayland background blur; multi-key mapping timeouts; diff kitten highlights moved lines.
v0.46.2.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Pick files from the keyboard with previews of text, images, videos and e-books.
Details
New choose-files kitten. icat adds animated PNG and WebP, netPBM and ICC color profiles and a --fit flag. New copy_last_command_output action and a default mapping to search the scrollback in a pager.
Also: Paste events protocol support; goto_session can pick a session file from a directory.
v0.45.0.
Seeded by @iluxav with Claude Code (canido)
Load chosen environment variables from your login shell when kitty starts.
Details
New env directive in kitty.conf reads listed variables from the login shell at startup. Session files gain a focus_tab command, save_as_session gains --base-dir, and Unicode 17 is supported.
Also: Option draw_window_borders_for_single_window; macOS performance and power improvements.
v0.44.0.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
Starting point
Run a GPU-rendered terminal with images, tabs, splits, sessions and SSH integration on Linux, macOS and BSD.
Details
Starting point: what kitty could do as of v0.43.1, from its documentation at that tag.
v0.43.1; packaged by most distributions, or the official binaries and installer.
Seeded by @iluxav with Claude Code (canido)
Read the evidence
- kovidgoyal/kitty/blob/v0.43.1/docs/index.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/choose-fonts.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/icat.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/graphics-protocol.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/layouts.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/remote-control.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/sessions.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/ssh.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/shell-integration.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/open_actions.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/hints.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/themes.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/quick-access-terminal.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/panel.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/diff.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/remote_file.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/transfer.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/desktop-notifications.rst
- kovidgoyal/kitty/blob/v0.43.1/docs/kittens/notify.rst