NeoShell Transport

Session continuity beyond SSH.

SSH reconnect is not enough.

Detach. Move. Resume. Your session survives the network.

Prefer source first? Browse GitHub

session continuity

$ 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

Problem

SSH reconnect is not session continuity.

Reconnecting to a host is not the same thing as preserving the working session. That gap is where most remote friction comes from.

Reconnect loses momentum

A recovered SSH connection is still a broken workflow if the session context is gone.

Sessions stay tied to TCP

Network switches, sleep, and spotty links turn a transport detail into a daily interruption.

Session logic lives outside transport

Session persistence lives in the wrong layer. What should be transport behavior is pushed into the shell.

Session Lifecycle

Detach and resume are protocol features, not a convention.

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.

Connect

Start a remote shell with SSH bootstrap and QUIC transport.

Detach

Press Ctrl-a then d, or call neosh detach from another terminal.

Resume

Reattach to the same session later with a session id and target host.

Reconnect takeover

When client-id-v1 is negotiated, the same client can reclaim a stale attached session.

How It Works

Authenticate once. Let the session survive everything else.

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

SSH bootstrap

Use the SSH path you already trust to locate and start neoshd on the remote host.

Step 2

Trust handoff

Verify the returned TLS fingerprint before AUTH so the QUIC session inherits bootstrap trust.

Step 3

Attach, detach, resume

Run the interactive shell over QUIC and resume the same session when the network path changes.

SSH reconnect vs session continuity

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.

Topic SSH neosh
Session ownership

Session lifecycle stays tied to the live connection.

Session lifecycle stays independent and resumable.

Connection model

Session stays tied to one TCP connection.

Session stays independent of the current network path.

Reconnect

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.

Session context

Context is easy to lose when the link drops.

Detach and resume preserve context across broken links.

Multiplexer dependence

Long-running work usually leans on tmux or screen.

Resume is native to the protocol. No multiplexer required for the basic workflow.

Bootstrap

SSH handles trust and the session in one channel.

SSH bootstraps neoshd, then hands trust off to QUIC.

Mobile conditions

Stable links feel fine. Network switches do not.

Designed for roaming, lossy, and unstable links.

Terminal Continuity

Your session should outlive the connection.

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

When SSH starts to hurt.

The value shows up fastest anywhere transport instability is routine and reconnecting to the box is not the same thing as resuming the work.

Sessions should not die.

Switching networks mid-session.

Mobile dev over unstable connections.

Long-running jobs you can’t restart.

Install

Install neoshd, then resume like it should have worked all along.

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

Linux/macOS release install

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

Minimum path from install to resume

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

Open Source Transport

Install neosh.

Stop losing your sessions.