Session Persistence

grüt automatically saves your workspace state when you exit and restores it when you relaunch — so you pick up exactly where you left off.

grüt
Settings panel showing session persistence configuration
Session settings in the Settings panel

What Gets Saved

When session persistence is enabled, grüt stores the following state on exit:

  • Working directory — the project root you were working in
  • Layout preset — which preset (Explorer, Git, Review, Agent, Full) was active
  • Focused panel — which panel had focus when you exited
  • Tab name — the label for each workspace tab

How It Works

Session data is stored in your platform's user data directory:

  • Linux: ~/.local/share/grut/sessions/
  • macOS: ~/Library/Application Support/grut/sessions/
  • Windows: %APPDATA%\grut\sessions\

Each project gets its own session file, keyed by the absolute path of the root directory. This means you can have independent sessions for every project you work on.

Auto-Save & Auto-Restore

By default, grüt auto-saves the session on exit (including q and Ctrl+c) and auto-restores when you open the same directory again. This is seamless — there are no prompts or confirmation dialogs.

Session Expiration

Sessions older than max_age days are automatically cleaned up on launch. This prevents stale session files from accumulating.

[session]
max_age = 30               # Days before a session expires (default: 30)

Disabling Sessions

If you prefer a clean slate on every launch, disable session persistence in your configuration:

[session]
enabled = false

Configuration Reference

[session]
enabled = true             # Enable session save/restore (default: true)
max_age = 30               # Days before session files expire (default: 30)