Skip to content

tmtv

Share your terminal over SSH. That's it.

v2.0.4 built on tmux 3.6a ISC licensed

Get started

$ curl -fsSL https://tmtv.se/install.sh | sh
$ tmtv
# share the SSH token with your pair
$ ssh TOKEN@tmtv.se

Linux and macOS. Or brew install sa3lej/tap/tmtv on macOS. Or build from source.

View a session in the browser

Or open a direct link: /s/TOKEN

tmtv terminal sharing session — SSH pair programming with optional web viewer

How it works

Share

Run tmtv. You get two SSH tokens: read-write for your pair, read-only for spectators. Add a password to lock the door.

Connect

Your pair runs ssh TOKEN@tmtv.se and lands in your session. No plugins, no accounts, no browser.

Or use the browser

Open the web viewer if you don't have a terminal handy. Watch, or type along with a read-write token. Zero install.

Everything you get

SSH sharing

Read-write and read-only tokens. Your pair edits, spectators just watch — all over plain SSH.

New

Shared clipboard

Copy once, paste everywhere. Yanks sync across every viewer — host and guests, SSH and web.

New

Inline graphics

SIXEL images render right in the terminal — and in the web viewer. Charts, previews, QR codes.

Locked down

Password-protect any session. Modern SSH crypto, isolated per-session tokens — no weak algorithms.

Modern tmux

Built on tmux 3.6a: popup menus, extended keys, split panes, true color — nine years past tmate.

Web viewer

Watch or type along right in the browser. xterm.js rendering, themes, zero install.

Self-hostable — docker compose up Linux + macOS Static binaries, zero deps ISC licensed

Debug CI failures over SSH

Drop sa3lej/action-tmtv@v1 into your GitHub Actions workflow. When a job fails, SSH straight into the runner and debug it live. A drop-in replacement for action-tmate.

.github/workflows/ci.yml
- name: Debug via SSH
  uses: sa3lej/action-tmtv@v1

What it looks like

tmtv default theme showing terminal output
Default theme
tmtv viewer showing a normal tmux session with split panes
Normal session
tmtv TV theme with rounded corners and CRT effect
TV theme

Try it: add ?theme=tv to any viewer URL

Why tmtv?

I loved tmate but it was stuck on tmux 2.4 from 2017. Nine years of tmux improvements — popup menus, extended keys, sixel graphics — all missing.

So I rebased it on tmux 3.6a and shipped it. Same SSH-based terminal sharing you know, with a modern tmux underneath. The web viewer is a bonus — handy when someone just wants to watch without opening a terminal.

No IDE plugins. No accounts. No Electron app. Just SSH.

What's new

v2.0.4 Latest

Same session. Same links.

Automatic reconnects now preserve your SSH and web links, backed by a private in-memory host identity. Named sessions keep their assigned names, RW links get stronger tokens, and an old connection can no longer erase its replacement's aliases. Upgrade the hosting client for continuity; a fresh start still creates fresh credentials.

v2.0.3 The relay keeps moving.
v2.0.2 Nothing rattles the relay.
v2.0.1 Exit means exit.
v2.0.0 The server that never gives up.
v1.9.3 The server that sleeps when it should.

Full changelog on GitHub

Built by Lars-Erik Jonsson (SA3LEJ) with Claude Code.