Terminal Multiplexer Workflows
Use this skill when the user asks how to operate or configure terminal multiplexers, especially Zellij pane/tab/floating-pane workflows.
Core approach
- Ground behavioral claims in installed help or upstream docs. Multiplexer terminology and behavior changes across versions; do not rely on memory when the question is about exact actions/keybindings.
- Check the installed version and action surface when possible. For Zellij, useful probes are:
zellij --versionzellij action --helpzellij setup --dump-configzellij action <subcommand> --help
- Distinguish UI keybindings, config action names, and CLI subcommands. Zellij config actions are CamelCase (eg.
TogglePanePinned) while CLI subcommands are kebab-case when exposed (eg.toggle-pane-pinned). Some config/plugin actions are not exposed as direct CLI subcommands. - Use precise Zellij terminology. A Zellij “window” in user language usually means a pane. Floating is a pane property; tabs are not themselves floating panes.
- When corrected by the user, re-check docs/source and explicitly repair the model. Avoid doubling down on plausible-but-wrong analogies from tmux or from action names.
Zellij pane/tab/floating-pane notes
Ctrl-p e/TogglePaneEmbedOrFloatingtoggles the focused pane between tiled and floating.Ctrl-p w/ToggleFloatingPanestoggles visibility of floating panes in the current tab; if none exist, it can create one.Ctrl-p i/TogglePanePinnedpins a floating pane, but pinning is not cross-tab follow behavior. In Zellij docs, pinning means the floating pane stays on top and/or remains visible when floating-pane visibility is toggled. Do not tell the user that a pinned pane follows them across tabs.- Zellij does not expose ordinary “floating tabs”; floating applies to panes.
BreakPane,BreakPaneLeft, andBreakPaneRightare keybinding/config actions for breaking a pane out of its tab; they may not appear as CLIzellij actionsubcommands in every installed version.
Moving floating panes between tabs in Zellij
For current Zellij versions with multiple-pane selection:
- Focus the pane to move. It can be floating or tiled.
- Toggle it into the pane group with the default keybinding:
Alt-p→TogglePaneInGroup
- The multiple-select helper appears. Use:
rto break/move selected pane(s) to the tab on the right; if there is no right tab, it creates a new tab.lto break/move selected pane(s) to the tab on the left; if there is no left tab, it creates a new tab.bto break selected pane(s) into a new tab.fto float selected pane(s).eto embed selected floating pane(s).sto stack selected pane(s).cto close selected pane(s).Escto cancel.
- If the target tab is not adjacent, either move/reorder tabs until it is adjacent or move the pane stepwise. Default tab movement:
Alt-imoves the current tab left,Alt-omoves it right.
Multiple-selection helper details:
Alt-ptoggles the focused pane in/out of the group.Alt-Shift-ptoggles follow-focus marking, adding focused panes to the group as focus moves.- Default config bindings live under
shared_except "normal" "locked":bind "Alt p" { TogglePaneInGroup; } bind "Alt Shift p" { ToggleGroupMarking; } - These group-selection actions may not be present as direct
zellij actionCLI subcommands even though they exist as config actions.
Verification/pitfalls
- If
Alt-pappears to do nothing, check whether Zellij is locked (Ctrl-gtoggles lock mode) and whether custom keybindings removedTogglePaneInGroup. - Avoid assuming a feature is a setting. Search the docs for exact terms (
pinned,TogglePanePinned,move_to_focused_tab,break_panes_to_tab_with_index) and compare with installedzellij action --help. move_to_focused_tab trueapplies toLaunchOrFocusPluginplugin panes, not arbitrary terminal panes.- Zellij has plugin API functions such as
break_panes_to_tab_with_index/break_panes_to_tab_with_idthat can move panes to existing tabs, but they are plugin APIs, not necessarily end-user CLI subcommands.
References
references/zellij-pane-tab-management.mdcontains condensed docs/source excerpts from the session that established the pinning and multiple-select behavior.