Skip to content
Terminal > Windows, tabs & panes

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

ActionWindows and LinuxMac
New tabCtrl+Shift+T⌘T
Close active pane (closes the tab on its last pane)Ctrl+Shift+W⌘W
Next tabCtrl+PageDown or Ctrl+Tab⌘PageDown or ⌃Tab
Previous tabCtrl+PageUp or Ctrl+Shift+Tab⌘PageUp or ⌃⇧Tab
Go to tab 1 to 8 / the last tabCtrl+1 … Ctrl+8 / Ctrl+9⌘1 … ⌘8 / ⌘9
Rename the current tabF2F2

These work even while the prompt is focused, and tab switching works inside full-screen TUI sessions too — Mel takes the key and it never reaches the underlying program. Any of them can be changed in Settings → Keyboard shortcuts.

If you've starred a tab config as your default, the new-tab key 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 title field (with {{param}} substitution) names tabs it opens.

After a restart

With Settings → Features → Restore tabs and panes on start on, Mel reopens your tabs, panes and folders when it starts — the layout only (plus the conversation a pane held), never the commands that were running. Warn before quitting asks before Mel closes while a command, a background job or an agent is still running.

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.