Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 1624Tools index
Pricing
Open Source
Type
TOOL
Builder
block
GitHub
8 stars
Latest release
v0.6.0
Date

About

SSH client with seamless connection recovery. Reconnects transparently when your network drops, keeping shell sessions alive across switches and sleeps.

What it does

Sessh wraps OpenSSH with local and remote daemons that preserve terminal state, scrollback, input progress, and process ownership. A multiplexed protocol carries terminal or proxy traffic through ordinary SSH connections, while the remote side keeps running during interruptions and computes an accurate repaint when the client returns.

Why it's ranked here

Sessh tackles recovery as a terminal-state problem, not merely a transport retry. Input acknowledgements, resize-aware repaints, scrollback repair, connection pooling, and durable cleanup show careful engineering around failure cases. Its compatibility fallbacks and explicit diagnostics also make behavior understandable when full recovery is unavailable.

What's good

It requires no advance remote installation and opens no extra network port. It preserves normal scrollback, mouse reporting, alternate-screen behavior, cursor state, and terminal modes through a modeled remote terminal. It detects both disconnected and unresponsive transports, retries with exponential backoff, and avoids unsafe automatic switching when typing or paste-like input may be incomplete.

Tradeoffs

Recovery depends on a matching packaged binary for the remote operating system and architecture; otherwise Sessh warns and falls back to plain SSH. Reconnection cannot handle passwords or other interactive authentication prompts. There is deliberately no public list, resume, or kill interface. Protocol-level flow-control credit remains future work, and blocking diagnostic writes can stall each single-threaded process.

How to use it well

Use Sessh for interactive shells, remote commands, and forwarding workflows where network changes or laptop sleep commonly interrupt OpenSSH. Keep its emulated terminal mode for the strongest recovery, then choose lighter filtering when OpenSSH must own the stream. Treat it as an SSH replacement with fault tolerance, not as a named-session manager or remote job registry.

Technical notes+

docs/ARCHITECTURE.md describes single-threaded, non-blocking processes, a local sesshd, a small remote bridge, remote workers, pooled SSH transports, three filtering levels, and three isolation modes. docs/PROTOCOL.md specifies four-byte big-endian framing, protobuf HelloFrame and Frame envelopes, multiplexed streams, durable receive offsets, input acknowledgements, attached raw bytes, and SCM_RIGHTS descriptor passing. docs/THREADING.md explains dispatcher scheduling, Source and Sink backpressure, fair task dispatch, and the explicit Blocking capability. scripts/check_blocking.py enforces production restrictions on raw polling, sleeping, waiting, foreground frame I/O, and direct dispatcher I/O construction. docs/PACKAGING.md says release archives contain target-specific binaries and a SHA-256 manifest, built with Zig ReleaseSafe.

Observed

Primary implementation
Release binaries are built with Zig in ReleaseSafe mode.
Install surface
The documented installation command uses the block/tap/sessh Homebrew formula.
Interface
Command-line interface shaped like ssh, plus a manual ProxyCommand mode and JSONL diagnostics.
Remote deployment
The client bootstraps a packaged binary selected for the remote operating system and architecture.
Compatibility behavior
When no matching remote binary exists, Sessh warns and falls back to plain ssh without recovery.
Testing structure
The private Node package defines Vitest smoke and conformance suites using headless terminal and pseudo-terminal dependencies.

Read from README.md, package.json, docs/CLEANUP.md, docs/PROTOCOL.md, docs/PACKAGING.md, docs/THREADING.md, docs/NETWORKING.md, docs/DIAGNOSTICS.md, docs/TERMINOLOGY.md, docs/USER_MANUAL.md, docs/ARCHITECTURE.md, docs/RECONNECTION_UX.md, docs/FILESYSTEM_LAYOUT.md, docs/TERMINAL_EMULATOR.md, scripts/check_blocking.py.

What it can do

  • Establish SSH connections to remote servers

    Server credentials and connection detailsActive SSH session

  • Automatically reconnect dropped SSH sessions

    Interrupted network connectionRestored SSH connection

  • Maintain shell sessions during network interruptions

    Active shell session and network disconnectPreserved shell session state

  • Resume connections after network switches

    SSH session and network change eventSeamlessly restored connection

  • Recover sessions after device sleep/wake cycles

    Dormant SSH session and system wake eventReactivated SSH connection

  • Preserve running processes during connection recovery

    Active remote processes and connection interruptionContinued process execution

Tags

sshnetworkingclizigblock

Tech Stack

Node.js

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.