Sessions

Drop the connection. Not the shell.

Pick one to see it.

Survives the drop

The app is only a window. Each shell has its own terminal, held by a small keeper on the host, so when your device lets go the shell detaches — it doesn’t end.

iPad
SSH · 22 Wi-Fi lost · retrying
keeper
on studio
claude
attacheddetached — the shell is still running

Comes back by itself

When the network returns or changes, SpectaShell reconnects and reattaches on its own. You see the shell exactly where it is now.

Scrollback, restored

Reattaching restores the screen and the last mebibyte of output, so the hour you were away is right there — scrolled the way the device scrolls.

Same shell, any device

The shell lives on the host, so any of your devices can open it. Desks and panes work the same on Mac and iPad; on iPhone each pane fills the screen.

Watch without taking over

Choose Watch, and a shell another device holds shows here as it is used, without taking it. When a shell ends, SpectaShell tells you how it ended.

$ ls ~/.local/share/spectashell
spectashell-keeper
$ sudo # not needed
$ ss -tlnp | grep keeper # listens on nothing
plain SSH · port 22 · your home folder only

No root, no open port

The keeper needs no root, opens no port and runs over plain SSH. A server without it still works — you just don’t get persistence there.

PropertytmuxmoshSpectaShell
Transportinside SSHUDP portsSSH, port 22
After a dropreattach by handroamsreattaches by itself
Scrollbacktmux’s buffer—1 MiB, native
Other deviceattach by hand—one tap
Local echo—predictiveno

Next to tmux and mosh

You can still run tmux inside SpectaShell. What you give up is mosh’s predictive local echo.

On a MacBook host, shells pause while the lid is closed — run unattended agents on a server or a desktop Mac.

NextAgents → Get notified at launch