Questions and fixes
Most problems with Shio are one of four things, and all four are on this page. Connection trouble is first because it is by far the most common.
shio can't reach my mac
Remote Login is the usual cause. On the Mac you are connecting to, open System Settings → General → Sharing and turn on Remote Login. Without it that Mac has no SSH server running, so nothing can connect to it.
If Remote Login is already on, check two more things. Shio's public key needs to be in that Mac's ~/.ssh/authorized_keys, which the setup guide walks through. And the username in Shio has to match the account name on that Mac.
it works at home but not when i'm out
Tailscale has to be running and signed in on both devices, not just one. Shio connects to the machine's Tailscale name, so if Tailscale is off at either end the name does not resolve and the connection never starts.
There is no relay of ours in the middle. If your two devices cannot see each other, Shio has no way to connect them, which is the trade for having no server that could read your sessions.
do i need tailscale on the same wifi?
Right now, yes. Shio connects using the name the machine advertises, which is its Tailscale name, so turning Tailscale off breaks the connection even when both devices are sitting on the same network.
Trying the local network first and falling back to Tailscale is planned. It is not shipped, and this page will say so when it is.
it says the host key changed
That refusal is deliberate. Shio pins a machine's host key the first time it connects and stops if the key later changes, because a changed key is exactly what a machine-in-the-middle looks like.
It also happens innocently, after reinstalling macOS or rebuilding a server. If you know why it changed, remove the machine in Shio and add it again, which pins the new key. If you don't know why it changed, find out before you reconnect.
my session doesn't follow between devices
The machine needs tmux. tmux is what holds a session open on the host so a second device can join the one that is already running. Without it, every device gets its own separate shell and nothing is shared.
brew install tmuxUse your package manager on Linux. Shio looks for tmux in the usual Homebrew and MacPorts locations as well as on the system path, so a Homebrew install is found even though an SSH connection does not load your shell profile.
The same cause explains a phone that opens in your home directory instead of the project's folder: no tmux, so no project session to join.
what does shio do with my keys?
On a Mac it uses the keys already in your ~/.ssh, the same ones Terminal uses. On iPhone and iPad it generates its own key on the device, held in the keychain, which you install on your hosts once.
Keys are never uploaded, because there is nowhere to upload them to. Shio has no server and no account. Projects and settings sync through your own iCloud.
is it free?
Yes, and MIT licensed. No paid tier, no subscription, no account. The whole app is on GitHub, including what it does with your keys.
can i run coding agents in it?
Anything that runs in a terminal runs in Shio, agent CLIs included. There is no special integration with any of them, and Shio does not supervise or manage them. It renders them correctly, including on a phone, which is the part most mobile terminals get wrong.
what do i need to run it?
macOS 14 or later on Apple silicon for the Mac app, which is a direct download. iPhone and iPad are in TestFlight while App Store review goes through.
still stuck?
Open an issue on GitHub with what you tried and what happened. If it looks like a security problem, don't open a public issue; the repository's SECURITY.md has the address to use instead.
Two other pages may help: how projects and machines fit together, and the keyboard shortcuts.