Replay
Replay any recording in the full-screen player - seek, pause, speed from 1/64x to 64x, jump-to-time, scroll view, and click-to-seek.
ghostshell play replays a recording with its original timing. It auto-detects the argument: an existing local file plays locally; anything else is treated as a central-store session ID, searched across all users (requires root — see audit mode).
ghostshell play 20260526T145029-1413696.cast # local file
sudo ghostshell play 20260711T142031-4471 # central session IDFlags
| Flag | Default | Effect |
|---|---|---|
--speed N |
1.0 |
Playback multiplier |
--idle N |
0 |
Caps idle gaps to N seconds; 0 keeps exact original timing |
The player
On a terminal, play opens a full-screen player on the alternate screen, with a thin status bar:
> 01:23 / 05:00 [#### ] 27% 1x <-/-> seek pgup scroll g goto spc play q quitControls
| Key / action | Effect |
|---|---|
space |
Pause / resume |
→ / ← |
Seek forward / backward 5 s |
↑ / ↓ |
Double / halve playback speed (range: 1/64x – 64x) |
g |
Go to time — type MM:SS or seconds, Enter to jump |
pgup |
Enter scroll view — browse past output a page at a time |
| Click the bar | Seek to that point (Shift+click selects text instead) |
b |
Hide / show the status bar |
0 |
Restart from the beginning |
q / Ctrl-C |
Quit |
Fidelity
Full-screen apps (vim, less, htop) replay exactly — play reproduces TUI redraws, and multibyte or box-drawing characters survive even when a PTY read splits a rune across chunks. The scroll view (pgup) parses output heuristically, so full-screen TUIs may look approximate there; see troubleshooting.
Note: Central playback requires root, and an optional playback password can gate it as a second factor. Central recordings are encrypted on disk —
playdecrypts transparently. To hand a cast to another tool, export it first.
Local plaintext recordings are standard asciinema v2 casts and also play with asciinema play.