tmux-rewinder records tmux pane output with [twatch](https://github.com/blacknon/twatch) and lets you replay it later.
  • Shell 99.5%
  • Makefile 0.5%
Find a file
2026-06-16 02:32:31 +09:00
.github/workflows update. something update. 2026-06-01 22:34:49 +09:00
example update. 2026-06-16 02:32:31 +09:00
img update. 2026-06-16 02:32:31 +09:00
scripts update. 2026-06-16 02:32:31 +09:00
tests update. 2026-06-16 02:32:31 +09:00
.gitignore update. 2026-06-01 21:34:05 +09:00
CHANGELOG.md update. 2026-06-01 21:34:05 +09:00
LICENSE update. 2026-06-01 21:34:05 +09:00
Makefile update. something update. 2026-06-01 21:40:18 +09:00
mise.toml update. 2026-06-16 02:32:31 +09:00
README.md update. 2026-06-16 02:32:31 +09:00
tmux-rewinder.tmux update. 2026-06-16 02:32:31 +09:00
VERSION update. 2026-06-01 21:34:05 +09:00

tmux-rewinder

tmux-rewinder records tmux pane output with twatch and lets you replay it later.

Requirements

  • tmux
  • twatch with --record-stdin
  • bash

Install

TPM

set -g @plugin 'blacknon/tmux-rewinder'
set -g @twatch-bin '/path/to/twatch'
run '~/.tmux/plugins/tpm/tpm'

Manual

set -g @twatch-bin '/path/to/twatch'
run-shell '/path/to/tmux-rewinder/tmux-rewinder.tmux'

Keys

Default bindings:

  • prefix + C-t: start or stop recording
  • prefix + R: replay the current pane log
  • prefix + L: list saved logs

Change or disable them from .tmux.conf:

set -g @twatch-toggle-key 'T'
set -g @twatch-replay-key 'C-r'
set -g @twatch-list-key 'L'

Set a key option to off to disable that binding.

Options

Common options:

set -g @twatch-log-dir '$HOME/.local/state/twatch/tmux'
set -g @twatch-log-compress 'archive'
set -g @twatch-replay-mode 'popup'
set -g @twatch-replay-limit '5000'
set -g @twatch-popup-width 'pane'
set -g @twatch-popup-height 'pane'
set -g @twatch-hide-header 'on'

Supported values:

  • @twatch-log-compress: archive, on, off
  • @twatch-replay-mode: popup, pane
  • @twatch-popup-width / @twatch-popup-height: pane, full, or any tmux popup size such as 90%

Advanced recording options:

set -g @twatch-record-checkpoint-interval '240'
set -g @twatch-record-spill-every '16'
set -g @twatch-record-spill-retain '8'

Test

make check