Kitty 0.50.0 Adds Session Restore, Status Reporting and Wayland Decorations

Kovid Goyal released version 0.50.0 of kitty, the GPU-based terminal emulator, on 3 November 2026. The release adds session restoration, a program status protocol that shows state in the tab bar, window docking, and Wayland changes. According to the kitty changelog, Wayland support now matches X11, provided the user runs a decent Wayland compositor, the program that arranges and draws windows on screen.
The most useful addition for daily work is the restore_session_after_logout option. When enabled, kitty saves the state of every instance, including scrollback (the buffer of earlier output), on logout, restart or shutdown, and restores that state on the next start. The saved state is encrypted. On macOS the key is kept in the keychain. On Linux, session restore requires the Inhibit desktop portal, a desktop service that lets applications delay logout or shutdown while they finish their work.
Window management gains two new launch types. launch --type=window-dock docks a window to the edge of another window, and launch --type=tab-dock does the same for a tab, which suits status bars and file trees. A separate launch --focus-existing option focuses an existing window or tab rather than opening a new one. According to the changelog, that matters for scripts and editor integrations that would otherwise pile up duplicate windows.
On Wayland, kitty now draws its own client-side window decorations, the title bars and buttons, styled to imitate native GNOME decorations. According to the changelog, they follow the desktop's titlebar font, text scaling, button layout and titlebar click settings. Touch input is also new. A tap registers as a click, a moving finger scrolls with momentum, and a finger held still before moving selects text.
The Program Status Protocol uses OSC 7501, an escape sequence (a hidden control code embedded in a program's output), to let a program report one of four states: working, finished, failed or blocked. kitty displays that state in the tab bar. Any program that emits the sequence can surface its status without a custom plugin or a separate notification channel.
The graphics protocol gains two indexed color image formats. In these formats each pixel stores an index into the terminal's color palette, the set of colors the terminal uses, rather than a literal RGB value. As a result, an image re-renders when the user changes the color scheme.
Three new cursor shaders, cursor-trail-railgun, cursor-trail-torpedo and cursor-trail-pixiedust, make particles fly off the cursor as it moves. They are cosmetic, and the changelog presents them as such.
The project describes kitty as a fast, feature-rich, GPU-based terminal emulator, and this release fits that description. The Wayland claim is conditional. The changelog ties parity with X11 to a decent compositor and leaves the judgment of whether a given compositor qualifies to the user. Anyone running kitty on a GNOME or wlroots-based session can test the claim against their own setup.
The broader context here is that a terminal sits between a developer and a growing number of long-running processes, such as builds, test suites, agents and deployments. A standard way for those processes to report working, finished, failed or blocked states, and for the terminal to display them, is a modest change. It is also a practical one, because it moves status out of scrollback and into a place the eye already checks.
In my view, session restore and the status protocol address the same friction from different directions. One preserves the workspace across interruptions, and the other keeps work in progress visible while the user attends to something else. Together with docking and focus control, they make kitty more usable as a persistent workspace rather than only a fast window onto a shell. Whether that direction matters depends on how a given team works.


