Overview
rozi is a tiling terminal multiplexer: it arranges terminal panes the way a tiling window manager arranges windows. It keeps named sessions running after you leave, reaches other machines over SSH, and shows which coding agents need you. You can change any of it live, from inside rozi.
Shells, editors, system monitors, test servers, and coding agents are all ordinary panes. The sidebar can additionally show which coding agents are working, finished, or waiting for your input, on this machine and on connected hosts.
Tiling behavior, animations, and keyboard flow take their cues from the Hyprland window manager.
One workspace in a named session: an editor, a Git log, lazygit, and btop, tiled by the dwindle layout.
New to rozi
| Guide | Covers |
|---|---|
| Getting started | A guided first session: create, split, detach, and reattach |
| Installation | Installing, updating, and rolling back |
| Core concepts | Sessions, panes, workspaces, layouts, and profiles |
| Feature map | What rozi can do, grouped by task |
| Platform support | Supported operating systems and their differences |
| Troubleshooting | Common problems by symptom, with causes and fixes |
Daily use
| Guide | Covers |
|---|---|
| Keybindings | Default keys, the prefix, modes, mouse controls, and rebinding |
| Panes and layouts | Tiling layouts, focus, movement, floating panes, and fullscreen |
| Terminal features | Scrollback, search, copy mode, clipboard, links, images, and shell integration |
| Sessions | Named and temporary sessions, the session picker, and resurrection |
| Worktrees | Opening each Git worktree in its own session |
| Sidebar | Pane, session, file, Git, worktree, and agent views |
Remote and collaboration
| Guide | Covers |
|---|---|
| Remote sessions | Working in sessions on another machine over SSH |
| Shared sessions | Several clients in one session: following, layout control, and read-only access |
Customize
| Guide | Covers |
|---|---|
| Customize rozi | A guided tour of themes, layouts, pane styles, bars, animations, and keys |
| Configuration | The config.toml reference and live reload |
| Themes | Built-in, system, and custom themes |
| Profiles | Reusable launch recipes and saved layouts |
| Vim and Neovim navigator | One set of navigation keys for editor splits and rozi panes |
Coding agents
| Guide | Covers |
|---|---|
| Agent activity | How rozi shows working, blocked, and finished agents |
| Agent definitions | Adding or overriding coding-agent detection rules |
| Agent skill | Teaching a coding agent to control rozi |
Automate and extend
| Guide | Covers |
|---|---|
| Scripting quick start | Common automation tasks with the rozi command |
| Control CLI | The full reference for inspecting and controlling rozi from scripts |
| Control protocol | The raw transport, for clients that cannot run the CLI |
| Record a pane or the UI | Record a pane or the whole UI over time, then replay it or export frames, a GIF, or a cast |
| Hooks | Running commands when rozi events happen |
| Extensions | Installing, writing, and managing extensions |
| Automation recipes | Complete scripting and extension examples |
Development
| Guide | Covers |
|---|---|
| Contributing | Setup, checks, pull requests, and DCO sign-off |
| Extension testing | Testing extension commands and lifecycle behavior |
| Release process | Publishing and checking a release |
| Benchmarks and profiling | Running the benchmark and profiling tools |
| Performance audit archive | Recorded measurements and audit history |
| Performance audit playbook | Reproducing a full performance audit |
To report a vulnerability, read the security policy first.