Skip to main content

Configuration and Troubleshooting

Configuration Reference

Set options before TPM loads the plugin.

~/.tmux.conf
# Key bindings
set -g @hidden-panes-hide-key 'H'
set -g @hidden-panes-list-key 'h'
set -g @hidden-panes-toggle-key 'T'

# Detached storage session
set -g @hidden-panes-session-name '__hidden__'

# Nonstandard Resurrect paths, only when needed
set -g @hidden-panes-resurrect-save-upstream \
"$HOME/.tmux/plugins/tmux-resurrect/scripts/save.sh"
set -g @hidden-panes-resurrect-restore-upstream \
"$HOME/.tmux/plugins/tmux-resurrect/scripts/restore.sh"

# Optional dedicated archive root
set -g @hidden-panes-resurrect-archive-dir "$HOME/backups/tmux-hidden-panes"
OptionDefaultPurpose
@hidden-panes-hide-keyHKey used to label and hide a pane
@hidden-panes-list-keyhKey used to open the picker
@hidden-panes-toggle-keyTKey used for latest-pane quick toggle
@hidden-panes-session-name__hidden__Detached tmux storage session
@hidden-panes-resurrect-save-upstreamStandard Resurrect save scriptOriginal save script wrapped by the plugin
@hidden-panes-resurrect-restore-upstreamStandard Resurrect restore scriptOriginal restore script wrapped by the plugin
@hidden-panes-resurrect-archive-dirUnsetPlugin-owned archive root for snapshots and sidecars

Reload Configuration

After changing configuration:

tmux source-file ~/.tmux.conf

Check the resulting bindings:

tmux list-keys -T prefix H
tmux list-keys -T prefix h
tmux list-keys -T prefix T

Troubleshooting Table

SymptomLikely CauseFix
no hidden panesNo pane has been hidden yetHide one first with prefix + H
H opens the wrong actionUpper/lowercase confusionUse uppercase H to hide and lowercase h to list
Hidden pane does not return to original layoutOriginal window/panes changed or were deletedRestore into current window; rebuild layout manually if needed
Window disappears after final-pane hideFinal-pane confirmation was not accepted or placeholder was killedRestore the pane from picker; do not manually kill active placeholders
yazi or another TUI paints lateApplication-specific redraw behaviorReload plugin; switch/focus pane once if the application still ignores resize events
Resurrect restores panes but picker is emptySidecar missing, invalid, or wrappers not activeVerify wrapper paths and snapshot sidecar
TPM cannot install pluginPrivate repo SSH access missingTest ssh -T git@github.com and use SSH plugin URL

Diagnose Hidden State

# Runtime metadata
cat ~/.config/tmux-hidden-panes/list

# Storage session panes
tmux list-panes -s -t __hidden__ \
-F '#{pane_id} | #{window_name} | #{pane_current_command}'

# Number of hidden panes
~/.tmux/plugins/tmux-hidden-panes/scripts/hidden-count.sh
warning

The runtime list file is implementation state. Do not edit it by hand while

Diagnose Resurrect Integration

# Wrappers must be active
tmux show-option -gqv @resurrect-save-script-path
tmux show-option -gqv @resurrect-restore-script-path

# Latest snapshot and matching sidecar
snapshot=$(readlink -f ~/.local/share/tmux/resurrect/last)
printf '%s\n' "$snapshot"
ls -l "${snapshot}.hidden-panes"

The sidecar should be private:

stat -c '%a %n' "${snapshot}.hidden-panes"

Expected permissions are 600.

Reset a Broken Test Environment

Only use this if you intentionally want to discard hidden-pane metadata and no important pane is stored in __hidden__:

rm -f ~/.config/tmux-hidden-panes/list
tmux kill-session -t __hidden__
danger

Killing __hidden__ kills every process inside the hidden panes. First restore any pane you want to keep with prefix + h.

Next Step

Continue with Command and Data Reference.