What neosh is
A resumable remote terminal transport that keeps shell sessions recoverable across unstable network paths.
NeoShell Transport
neosh is the resumable transport NeoShell uses when reconnecting to the host is not enough.
SSH bootstrap for trust. QUIC for continuity. Detach, move, and resume the same shell.
$ neosh connect user@host
wifi -> hotspot -> office ethernet
session survives path changes
Ctrl-a d -> resumable detach
$ neosh resume --session-id abc --target user@host
same shell, same context, new connection
SSH bootstrap for trust, QUIC for continuity
Definition
The point of neosh is to keep the shell session recoverable when the connection path changes. It keeps trust bootstrap in SSH and moves interactive continuity onto a transport built for resume.
A resumable remote terminal transport that keeps shell sessions recoverable across unstable network paths.
SSH bootstrap keeps the trust model familiar, and QUIC gives the interactive session a transport designed for resume.
It does not make plain SSH obsolete, and it does not remove the value of tmux or zellij for every workflow.
Problem
Reconnecting to a host is not the same thing as preserving the working session. That gap is where most remote friction comes from.
A recovered SSH connection is still a broken workflow if the session context is gone.
Network switches, sleep, and spotty links turn a transport detail into a daily interruption.
Session persistence lives in the wrong layer. What should be transport behavior is pushed into the shell.
Session Lifecycle
Not a client trick. Built into the transport.
Protocol-native continuity
neosh lets the transport understand whether a session should stay resumable, terminate, or
be reclaimed by the same client after a broken link.
Start a remote shell with SSH bootstrap and QUIC transport.
Press Ctrl-a then d, or call neosh detach from another terminal.
Reattach to the same session later with a session id and target host.
When client-id-v1 is negotiated, the same client can reclaim a stale attached session.
How It Works
SSH gets you in, fingerprint verification locks trust, and QUIC keeps the interactive session alive across temporary disconnects and network changes.
You log in once. You don’t log in again.
Step 1
Use the SSH path you already trust to locate and start neoshd on the remote host.
Step 2
Verify the returned TLS fingerprint before AUTH so the QUIC session inherits bootstrap trust.
Step 3
Run the interactive shell over QUIC and resume the same session when the network path changes.
SSH reconnect vs session continuity
The difference is not cosmetic. It changes whether broken links feel like a small interruption or a full workflow reset.
Session lifecycle stays tied to the live connection.
Session lifecycle stays independent and resumable.
Session stays tied to one TCP connection.
Session stays independent of the current network path.
Reconnect gets you back to a host, not back to the same session state.
Built-in resume brings you back to the same running session.
Context is easy to lose when the link drops.
Detach and resume preserve context across broken links.
Long-running work usually leans on tmux or screen.
Resume is native to the protocol. No multiplexer required for the basic workflow.
SSH handles trust and the session in one channel.
SSH bootstraps neoshd, then hands trust off to QUIC.
Stable links feel fine. Network switches do not.
Designed for roaming, lossy, and unstable links.
Terminal Continuity
Not just reconnect.
$ neosh connect prod
$ tail -f app.log
$ ./deploy.sh
link dropped...
renew-auth -> RESUME
session reattached
$ tail -f app.log
Best Use Cases
The value shows up fastest anywhere transport instability is routine and reconnecting to the box is not the same thing as resuming the work.
Switching networks mid-session.
Mobile dev over unstable connections.
Long-running jobs you can’t restart.
When SSH Alone Is Enough
Plain SSH is still the right answer when the workflow tolerates a fresh shell and the network is stable enough that session continuity is not the bottleneck.
Install
Start with the release install on Linux or macOS. If you want source and binaries, the repository and release pages stay one click away.
This is all you need.
Install neoshd
Fetch the official install script and place the current release binary on your path.
curl -fsSL https://raw.githubusercontent.com/plucury/neosh/main/scripts/install_neoshd.sh | bash Optional install directory override:
INSTALL_DIR="$HOME/.local/bin" curl -fsSL https://raw.githubusercontent.com/plucury/neosh/main/scripts/install_neoshd.sh | bash Quick Start
Install neoshd
curl -fsSL https://raw.githubusercontent.com/plucury/neosh/main/scripts/install_neoshd.sh | bash Start a session
neosh connect user@host Resume later
neosh resume --session-id <session-id> --target user@host neosh is a resumable remote terminal transport that uses SSH bootstrap for trust and QUIC for the interactive session.
No. NeoShell uses SSH to bootstrap trust and start neoshd, then moves the interactive session onto neosh.
Use it when mobile network changes are common and reconnecting to the host is not the same as getting back the same shell.
No. NeoShell and neosh can work without tmux or zellij. They remain optional if you want extra host-side workspace persistence on top of transport-level resume.
Open Source Transport
Stop losing your sessions.