Skip to content

tmtv

Share your terminal over SSH. That's it.

v2.0.2 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.2 Latest

Nothing rattles the relay.

Six hardening fixes: malformed or empty protocol messages can no longer crash a session, a flood of silent web connections can't stall SSH accepts, and runaway message streams are capped. Your terminal sharing stays up — SSH first, always.

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.