Zellij 0.45.0: nested sessions, Kitty graphics, a fresh UI
Zellij 0.45.0: nested sessions, Kitty graphics, a fresh UI<br>2026-08-20<br>::<br>Aram Drevekenin
Zellij 0.45.0 has just been released! Check it out!<br>Some highlights:<br>Nested Sessions<br>Kitty Graphics Protocol<br>Mobile Web UI<br>New UI<br>Scrolling by Command<br>Per-Client Tab Sizes<br>Focus Last Pane and Fullscreen Floating Panes<br>Release Notes That Update Your Keybindings<br>ADDENDUM: we’re building Zellij.online!<br>Please Support the Zellij Developer ❤️<br>Nested Sessions<br>Running Zellij inside Zellij has often been an awkward experience: doubled status bars, keybindings going to the wrong session and a lock mode dance to get anything done. With remote sessions becoming more prominent (eg. when attaching to a remote machine over HTTPS), this happens more and more often.<br>This release adds dedicated handling of nested sessions. Zellij now detects when it is started inside another Zellij session and offers a choice:<br>Zoom in and control the nested session - the nested session takes up the whole screen and can be toggled on and off, essentially becoming your main session until you decide otherwise. Toggling can be done with: Ctrl o + f (or by clicking the parent session name in the UI breadcrumbs on the tab bar).<br>Control the nested session on focus - whenever the pane containing the nested session gains focus, keybindings are sent directly to it. You can then ascend back to the outer session with Ctrl o + ], or descend into it again with Ctrl o + [.<br>Kitty Graphics Protocol<br>Zellij now implements the Kitty graphics protocol in addition to the existing Sixel support. Images displayed by image viewers, plotting libraries and documentation tools are rendered inside panes - and keep working when those panes are scrolled, moved, resized or stacked.<br>The host terminal needs to support the protocol as well. A personal recommendation for those interested in this feature is WezTerm.<br>Mobile Web UI<br>The built-in web client now has a dedicated mobile interface. It provides touch controls and a layout adapted to small screens, making sessions truly usable from a phone or a tablet. Sessions and panes can be switched directly from this interface.<br>The web client can now also be installed as a standalone app (PWA) directly from the browser - which can be a nice trick to add desktop shortcuts to specific sessions.<br>Check out the web-client screencast if you’d like to learn more.<br>New UI<br>The default Zellij interface has been redesigned.<br>Title frames: pane frames are now off by default, leaving only the title line if there is more than one pane in a tab. For a single pane, the tab’s title will be the pane’s title. The result is a cleaner look and more room for your terminals. If you prefer the classic look, opt out with:<br>pane_frame_style "full"
Stacked lists: pane stacks have been redesigned to appear as a compact list above the whole stack, allowing the full list of panes to be seen in one place rather than both above and below the expanded pane. To go back to the previous behavior:<br>stacked_pane_list false
For more info about how to better use stackes, check out the Stacked Resize Screencast/Tutorial<br>Scrolling by Command<br>Zellij now allows scrolling by command rather than line by line. This is possible with shells that emit OSC133 to distinguish the command start, end and status.<br>Some new keybindings to support this:<br>Jump between prompts - Ctrl s + [ and Ctrl s + ] move up and down the scrollback one command at a time, rather than one line or one page at a time.<br>Select a whole command with its output - Ctrl s + m selects the command at the current scroll position together with everything it printed. Triple-clicking anywhere inside a command’s output does the same thing.<br>Copy the output of the last command - Ctrl s + c copies what the last command printed straight to the clipboard, with a brief flash showing exactly what was copied.<br>This is also possible with the mouse scroll : hold and scroll with the mouse.<br>This can be useful when a command spews hundreds of lines and you want the whole thing (and nothing else) in your clipboard to paste elsewhere.<br>There is nothing to set up on the Zellij side. fish emits these sequences out of the box, while bash and zsh need a shell integration snippet - the same ones distributed for other terminals work here as well.<br>For more info, see the Shell Integration documentation.<br>Per-Client Tab Sizes<br>Tabs can now have different sizes for different clients. When several clients are attached to the same session and are focused on different tabs, each tab is sized to its own client. Previously, all tabs shared the size of the smallest client - meaning one person attaching from a laptop would shrink everyone’s screen. Now tabs are only shrunk when clients are actually focused on the same tab.<br>Focus Last Pane and Fullscreen Floating Panes<br>A new action returns focus to the pane that was focused before the current one, so that two panes can be...