lazy-tmux

Features

  • Save current session, or a specific session, or all sessions to disk using save. Snapshots preserve windows, panes, layouts, running shell commands and shell scrollback history for later restoration.
  • Lazy restore only the session you pick with restore command or interactively with picker. You don't need to spend RAM for all sessions at startup – unlike tmux-resurrect which restores everything at once.
  • Interactive TUI session browser combining a deep tree view of sessions, windows, and panes with a table showing additional information: active command in each pane, last snapshot time, number of windows/panes per session, and session status (restored or not). Fuzzy search makes it lightning fast to locate any window or pane.
  • Keyboard-driven picker that lets you search, navigate, and restore sessions without leaving tmux.
  • Flexible session and window sorting through --session-sort and --window-sort flags. Sort by last-used, captured time, number of windows/panes, names, commands, or any combination.
  • Use --fzf-engine to replace the built-in TUI with fzf. Can be set at install time for a lighter binary; note that keyboard-driven session/window control is unavailable.
  • Autosave daemon mode periodically snapshots all sessions in the background, keeping session state safe across reboots. Only one autosave process runs at a time to avoid conflicts.
  • Bootstrap restore at tmux startup allows restoring the latest or a specific session automatically, useful for automation after startup.
  • Snapshot includes window and pane structure along with pane commands, enabling seamless reconstruction of your working environment. For example starting npm dev server, docker-compose, nvim, or any editor.
  • Optional shell pane scrollback capture lets you save and replay previous output, preserving context for restored sessions.
  • Configurable via an optional TOML config file (~/.config/lazy-tmux/lazy-tmux.toml): set a restore command allowlist so only trusted programs are replayed, tune the restore settle timeout, scrollback, autosave interval and storage paths.
  • With the fzf backend, --windows lists individual windows so you can fuzzy-jump straight to any window, not just a session.

Author: Anton Grishin (alchemmist), anton.ingrish@gmail.com

OpenSource: alchemmist/lazy-tmux

© 2026 lazy-tmux