Remote shell · v0.1.0

Your shell.
Still running.

scosh keeps the PTY on the server. Your terminal keeps native scrollback and input when the network changes.

OpenSSH for identity. QUIC for transport. Direct to your server.

native scrollbackscrollbar + search
SSH authyour existing keys
same shellafter reconnect
scosh · dev@example.com connected
$ scosh dev@example.com
authenticating with OpenSSH
opening QUIC data plane on :22
session ready · same PTY on reconnect

$ tail -f deploy.log
14:32:01 build started
14:32:08 compiling 247 modules
14:32:14 uploading artifact
network changed · recovering
session resumed · command still running
$

01 / Why scosh

Keep using your terminal.

There is no new terminal UI to learn. Keep using the terminal you already trust; scosh changes what happens when the connection does.

01

Full native scrollback

Your terminal keeps its normal scrollback and scrollbar, plus search, selection, copy, paste, mouse input, and terminal applications. scosh does not replace them with a second history UI.

02

One server-side PTY

The process and terminal state stay on the server. A short Wi-Fi change does not restart your shell or lose a running command.

03

SSH stays in charge

Host keys, agents, aliases, and authentication remain in system OpenSSH. scosh adds a data path; it does not replace your trust model.

04

Explicit boundary

One pane, one process, one client-held reattach key. Keep tmux for panes, windows, shared sessions, and public session control.

See the boundary

02 / How it works

Separate auth from transport.

Authentication and transport have separate jobs. That makes the recovery path easier to reason about and easier to operate.

  1. 1
    Connect with SSH

    OpenSSH authenticates you and delivers a bounded bootstrap exchange.

  2. 2
    Move data over QUIC

    The session uses one configured UDP port, with SSH stdio available as --tcp.

  3. 3
    Recover the same state

    The server keeps the PTY and authoritative terminal state; the client asks for a fresh snapshot after a gap.

Read the technical note

03 / Network changes

Reconnect the shell.
Tolerate weak links.

QUIC carries the data plane; after a network change, the client reattaches to the same server-side PTY. On a weak link, disposable viewport diffs may drop; revision gaps trigger a fresh snapshot instead of corrupting the terminal.

Read the migration guide
your terminalscosh dev@example.com
SSH authQUIC / SSH stream
your serverPTY + terminal state

04 / Install

Install the matching
client and server.

Install matching client and server releases, then connect with the SSH identity you already use.

Supported todayLinux x86_64 server · macOS/Linux clients · IPv4 · systemd
clientrelease archive

Download the matching archive

scosh dev@example.com

SSH-only fallback

scosh --tcp dev@example.com
View releases

Install matching client/server releases and check scosh --version.