The Restore Dialog

Since Nash 0.9.4, the restore dialog reads the saved-session history and lets you bring back every window of a save, one window, or a single tab. Nash opens it only when you ask.

Open the dialog

Use any of these:

  • Run Restore Saved Session from the command palette.
  • Choose Restore Saved Session in the Shell menu.
  • Press ALT+r in the bundled configuration.
  • Bind your own key to the ActivateSessionRestore action.

Three levels

The dialog opens on the list of saves, then lets you browse the windows of one save and the tabs of one window.

The save list

The title is Restore Saved Session. Saves are listed newest first. Each row shows when Nash saved the layout (Today, 10:49 AM, Yesterday, 6:12 PM, or a date), its window and tab counts, and a summary of its tabs.

Press Enter or click a row to see that save's windows. Press SUPER+Enter to restore all its windows at once, including those marked closed.

The header counts files that could not be read. These do not hide the saves that can be read.

The window list

Choose a save to see its windows. The title is Choose a Window followed by the save time.

Each row shows:

  • The window title, or Window N · <session> when the window has no title.
  • Counts such as 3 tabs and 7 panes.
  • A closed label when you closed the window before you quit. These rows come after the windows that were still open.
  • An Active: line that names the tab the window opens on, with its pane count.
  • A summary of the tab titles in the window, such as zsh ×3 or nvim ×2. A pane that was running a command shows ▶ and the command, for example ▶ npm run dev. The ▶ mark tells you which commands Nash runs again.

The tab list

Choose a window to see its tabs. The title is Choose a Tab followed by the window title. The subtitle reads Restore a single saved tab into the current window.

Each row shows the tab name and its pane count, an active label for the tab that was active, and a summary of its pane titles. A tab with no saved panes says No saved panes.

Keys and mouse

ActionSave listWindow listTab list
Move the selectionUp / Down, Ctrl+P / NThe sameThe same
Open or restoreEnter opens the window listEnter opens the tab listEnter restores the selected tab
Restore windowsSUPER+Enter restores allSUPER+Enter restores oneSUPER+Enter restores its window
Go back or closeEsc or Ctrl+G closesEsc or Ctrl+G goes backEsc or Ctrl+G goes back
MouseClick a row to open its windowsClick a row to open its tabsClick a row to restore that tab
Scroll a long listMouse wheelMouse wheelMouse wheel

SUPER is the Command key on macOS and the Windows or Super key elsewhere. The hint bar at the bottom of the dialog always shows the keys for the current level.

What a restore does

Restore a whole save. Nash restores each saved window in one background task, including windows you closed before quitting.

Restore a whole window. Nash opens a new window. It adds the saved tabs in their saved order, sets the saved window title, makes the saved active tab active, and uses the saved window size.

Restore a single tab. Nash adds the tab to the current window.

For each tab and pane, Nash then:

  • Starts a new shell in the saved working directory.
  • Rebuilds the splits with the saved proportions. Nash recreates each split from a whole-number percentage, so a pane can differ from its old size by a cell or two.
  • Restores the tab name, the tab color, and the tab's Zen Mode state.
  • Makes the saved pane active, and restores zoom and folded panes.
  • Types the saved command into the pane if it was still running. Read Limits and Troubleshooting before you rely on this.

The dialog closes at once. Nash restores the panes in the background, so a large window can need a moment to fill.

Empty and error states

What you seeWhat it means
No saved sessions yetNash found no saves in the current history directory.
Saved sessions could not be loadedNash could not list the directory or read any saves.

The empty state's detail line names the directory and, when available, the error. If some saves are readable, the picker lists them and counts the unreadable files in its header. See Limits and Troubleshooting for the causes and the fixes.