Kitty 0.50 shipped on November 3rd and addresses the most persistent annoyance in terminal workflows: rebooting your machine and losing your entire session. The GPU-accelerated terminal emulator now saves all your OS windows, tabs, and scrollback when you log out, then restores them exactly on next launch — no tmux resurrection plugin, no custom session scripts. That alone justifies the upgrade. But there are two more features in this release that change how you structure a terminal workspace, and a set of security fixes that make upgrading urgent if you use remote control.
Session Restore: Finally, One Config Line
Until now, if you rebooted while kitty had a dozen tabs open — a production log stream, a database monitor, three editor buffers — you started from scratch. Version 0.50 fixes this with a single setting:
# kitty.conf
restore_session_after_logout yes
When enabled, kitty saves the size and position of every OS window, every tab, every pane, and the full scrollback buffer (text, formatting, hyperlinks) when you log out or shut down. On next launch, everything comes back exactly as you left it. If you had multiple kitty instances running, each is restored separately with its original command line arguments and environment.
Two things to know upfront. First, running processes are not restored — only text state. If vim was open in a tab, you will get the scrollback showing what was happening, not a live vim session. For most people this is fine; the value is recovering context (logs, diffs, monitoring output) rather than live process state. Second, the platform requirements differ: on Linux you need an Inhibit desktop portal v3 (GNOME and KDE both support this by default), and on macOS the saved state is encrypted via the system keychain.
This is the most underrated terminal feature of 2026. Developers who run monitoring dashboards, long-running builds, or heavily tabbed workflows will feel the difference immediately.
Docked Windows: A Persistent Layer Outside the Layout
Kitty 0.50 also introduces docked windows — a new window type that attaches to the edge of another kitty window or the tab itself, sitting outside the normal tiling layout. This is the feature that tmux users have been approximating for years with split panes and status lines.
There are two variants. A window-dock is attached to a specific window: it follows that window across tabs and closes when the window closes. A tab-dock belongs to the tab and stays open until the last regular (non-docked) window in the tab closes.
Two practical examples from the official documentation:
# Persistent file tree using 25% of the active window's width
map f2 launch --type=window-dock --dock-edge=left --dock-size=25% yazi
# One-line status bar at the bottom of the tab (no keyboard focus)
map f1 launch --type=tab-dock --dock-edge=bottom --dock-size=1 --dock-skip-focus my-status-bar
Docked windows are saved as part of sessions, so session restore preserves them too. The combination of session restore and docked windows means you can build a persistent terminal workspace — file tree, status bar, main editor pane — that survives reboots without any external tooling.
Security: Upgrade Now If You Use Remote Control
Three security issues are patched in this release, and at least two are serious enough to treat as urgent if you use kitty’s remote control features.
The most notable is a remote control authentication bypass: a specially crafted request could circumvent password authentication entirely, granting remote control access without credentials. If allow_remote_control is in your kitty.conf, upgrade before you do anything else.
CVE-2026-95835 is a credential disclosure vulnerability via POSIX shared memory objects, patched in 0.50. CVE-2026-42851 is more concerning: a code injection flaw that can be triggered when external data is written to the terminal — over an SSH session, via cat of an untrusted file, in a TUI email body. Once triggered, it provides full user-level code execution inside the running terminal with no user confirmation. If you display untrusted content in kitty, upgrade.
Wayland and Rendering Improvements
For Wayland users, 0.50 adds full touchscreen support: tap-to-click, momentum scrolling, and text selection via touch gestures. The release also fixes a GNOME disconnect bug when kitty had a long covered window, an app_id loss issue on hide/show, and several drag-and-drop regressions.
On the rendering side, kitty now uses HarfBuzz for text shaping, bringing proper support for advanced OpenType features — contextual alternates, ligatures, combining glyphs. Three new cursor trail shaders arrive (inspired by Neovide), and color theme switching now correctly handles both system light/dark mode transitions and application-set colors.
How to Upgrade
The official installer always gets you the latest build:
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
On macOS, Homebrew already ships 0.50:
brew install --cask kitty
Arch Linux users are covered by pacman. Ubuntu and Debian ship older versions via apt, so the official installer or the griffo repository is the safer path to 0.50 on those distributions.
If you already have kitty installed via the official method:
kitty +update-self
The Bottom Line
Kitty 0.50 is a release you upgrade to for the security patches and stay for session restore. If your workflow lives in the terminal and you have ever started a Monday by reconstructing last Friday’s layout, this is the feature you have been waiting for. The docked windows are a genuine addition to the layout model, not a novelty — especially combined with file managers like yazi that already speak the kitty graphics protocol. This is a mature, iterating project that continues to earn its place as the terminal emulator for developers who want maximum control.

