Save and restore your tmux sessions. Remux captures your full tmux layout -- sessions, windows, panes, splits, and working directories -- and recreates it all from a single file.
Clone the repo and add it to your $PATH:
git clone https://github.com/SamiSuleiman/remux.git
export PATH="$PATH:/path/to/remux"No build step. No dependencies beyond tmux and fzf.
remux <command>
Every command can be abbreviated to its first letter (case-insensitive).
| Command | Short | Description |
|---|---|---|
save |
s |
Save the current state of all tmux sessions to disk |
restore |
r |
Recreate all saved sessions, windows, panes, and layouts |
create |
c |
Browse directories with fzf and create a new session (or switch to it if it exists) |
open |
o |
Pick from active sessions with fzf (with a live pane preview) and switch to it |
dump |
d |
Print the raw saved state to stdout |
# Save everything before shutting down
remux s
# Restore your workspace after a reboot
remux r
# Spin up a new session rooted at a project directory
remux c
# Quickly switch between active sessions
remux o| Variable | Default | Description |
|---|---|---|
REMUX_DIRS_TO_SEARCH |
$HOME:$HOME/Projects |
Colon-separated list of directories the create command scans (one level deep) for session targets |
export REMUX_DIRS_TO_SEARCH="$HOME/work:$HOME/personal:$HOME/projects"State is saved to ~/.local/share/remux.txt as a plain text file. Each line represents a single pane with >-delimited fields:
<session>><window_index>><window_name>><layout>><pane_index>><working_directory>
On restore, remux walks through the file and recreates each session, window, and pane, applies the original layout, and cds each pane into its saved directory.
Note: Only layouts and working directories are persisted. Running processes are not captured or restored.