Tabs
Independent terminal tabs, each with its own panes and working directory.
Tabs are Mel's top-level workspaces. Each tab holds its own pane layout — one pane or a whole split tree — and every pane in every tab keeps running whether it's visible or not, so a build in a background tab finishes while you work elsewhere.
Shortcuts
| Action | Shortcut |
|---|---|
| New tab | ctrl+T |
| Close active pane (closes the tab on its last pane) | ctrl+W |
| Next tab | ctrl+tab |
| Previous tab | ctrl+shift+tab |
ctrl+T, ctrl+W, and ctrl+tab work even while the prompt is focused, and ctrl+tab works inside full-screen TUI sessions too — it's consumed by Mel and never reaches the underlying program.
If you've starred a tab config as your default, ctrl+T opens that config — panes, directories, and startup commands included — instead of a blank tab.
Where tabs live
Tabs render in the left sidebar (the vertical tabs rail), not a horizontal strip. Each pane gets its own row there: click to focus, hover ✕ or middle-click to close, double-click to rename, right-click for the context menu with rename, close, and color options. A color you pick tints the owning tab.
The + button in the titlebar opens the new-tab menu: a plain new tab, your saved tab configs, git worktree entries for tracked repos, and "New Tab Config" to author a new recipe.
Titles
A tab's title follows the active pane's working directory by default. Titles can also be set by:
- You — double-click the pane's sidebar row and type.
- An agent conversation — starting one retitles the tab to the conversation's title.
- A tab config — the
titlefield (with{{param}}substitution) names tabs it opens.
Independence
Each tab is a fully independent pane tree. Pane IDs are globally unique, splits in one tab never affect another, and closing a tab cleans up its PTYs and agents. See Split panes for working within a tab and Sessions for per-pane state.
Related
- Vertical tabs — the sidebar rail
- Tab configs — reusable TOML tab recipes
- Tab customization — density and row content