How to Save and Restore Terminal Layouts
You spend 5-10 minutes every morning recreating your terminal layout: opening panes, navigating to the right directories, starting dev servers, launching AI agents. That’s an hour per week of repetitive setup.
Here’s how to save your layout once and restore it in one click.
GridTerm Workspaces (recommended)
GridTerm has built-in workspace management that saves your complete terminal state.
What gets saved:
- Grid layout (1x1, 2x2, 2x3, 3x3, or custom splits)
- Each terminal’s starting directory
- Each terminal’s auto-run command
- Terminal names/labels
How to save:
- Set up your ideal layout — grid size, directories, processes
- Open the Workspace Manager
- Click “Save Workspace”
- Give it a name (e.g., “Main Project”, “API Development”)
How to restore:
- Open the Workspace Manager
- Click your saved workspace
- Everything loads — grid appears, terminals open to the right directories, commands auto-run
A practical workspace:
| Terminal | Directory | Auto-command |
|---|---|---|
| Top-left | ~/projects/app | claude |
| Top-right | ~/projects/app | npm run dev |
| Bottom-left | ~/projects/app | npm test --watch |
| Bottom-right | ~/projects/app | — (free terminal) |
Create multiple workspaces for different projects. Switch between them in one click.
tmux-resurrect (Linux/macOS)
If you use tmux, the tmux-resurrect plugin saves and restores sessions.
Setup:
- Install tmux plugin manager (tpm)
- Add to
~/.tmux.conf:set -g @plugin 'tmux-plugins/tmux-resurrect' - Install:
Ctrl+B I
Save: Ctrl+B Ctrl+S
Restore: Ctrl+B Ctrl+R
What gets saved: Pane layout, working directories, and (with configuration) running programs.
Limitations: Doesn’t reliably save all running processes. Auto-commands need manual configuration. Restoration isn’t always 100% — some panes may open to the wrong directory or lose their running process.
For automatic saving, add tmux-continuum:
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'
Windows Terminal (partial)
Windows Terminal doesn’t have workspace save/restore, but you can configure startup layouts in settings.json.
Multiple tabs with specific profiles:
{
"startupActions": "new-tab -p \"PowerShell\" -d \"C:\\projects\\app\" ; split-pane -H -p \"PowerShell\" -d \"C:\\projects\\app\""
}
Limitations: Only configures one startup layout (no multiple workspaces). The syntax is complex and error-prone. You can’t switch between different layouts at runtime. Auto-run commands are possible but require additional scripting.
Comparison
| Feature | GridTerm | tmux-resurrect | Windows Terminal |
|---|---|---|---|
| Save layout | One-click | Ctrl+B Ctrl+S | Manual JSON |
| Restore layout | One-click | Ctrl+B Ctrl+R | App restart only |
| Multiple workspaces | Yes | No (one session) | No |
| Save directories | Yes | Yes | Yes (JSON) |
| Save auto-commands | Yes | Partial | Complex |
| Reliability | 100% | Variable | N/A |
| Platform | Windows, macOS | macOS, Linux | Windows |
Why this matters
The 5-10 minutes of daily setup isn’t just about time. It’s about activation energy. When your ideal working state requires 10 steps to reach, you’re less likely to set it up properly. You skip the test runner. You forget to launch the third AI agent. You work with a suboptimal layout because setting up the ideal one feels like too much work.
When the ideal state is one click away, you always start in the right configuration. Every session begins at full productivity instead of ramping up over the first 10 minutes.
That’s the real value of saving terminal layouts — not just saving time, but ensuring you always work in the best environment.