Yes. SSH is supported for self-hosted Remote Pane.
Remote Pane is not just “SSH into a box.” The model is:
- Run a small Pane remote daemon on the machine that owns your repos, terminals, worktrees, and agents.
- Use SSH, Tailscale, or a trusted HTTPS tunnel as the secure path to that daemon.
- Connect desktop Pane or the browser app at runpane.com/app with the printed
pane-remote://...code.
That daemon is what lets Pane do more than a normal SSH terminal. It can load remote projects and sessions, stream terminal output, send input, resize terminals, read and write files, show git status and diffs, and route approval prompts back to your client UI.
Quick Answers
Is SSH supported?
Yes. Use --prefer-tunnel ssh when you run remote setup. Pane will print the SSH local-forward command and a pane-remote://... code.
Is this just SSH with a nicer UI?
No. SSH is only the secure tunnel. The Pane daemon is the runtime that understands Pane sessions, panels, terminals, files, git status, diffs, and approval prompts.
Do I need to expose a port?
No for the normal SSH setup. The daemon listens on loopback by default, and SSH forwards your local 127.0.0.1 port to the daemon on the remote host.
Does this work from my phone?
Usually not with desktop-local SSH tunnel mode. A phone browser needs to reach the daemon URL from the phone itself. Use the default Tailscale setup or Manual HTTPS for mobile access through runpane.com/app .
Where do I paste the code?
In desktop Pane, go to Settings > Remote Pane. In the browser app, open runpane.com/app . Paste the full pane-remote://... code in either place.
When to Use SSH
Use SSH tunnel mode when your client is a laptop or desktop that can keep a local forwarding command running.
For phones and tablets, prefer the default Tailscale setup or Manual HTTPS. SSH tunnel mode forwards 127.0.0.1 on the device running the tunnel, so a phone browser cannot use a laptop’s localhost tunnel unless you set up a separate reachable tunnel.
If your goal is mobile access, start with Remote VM Setup and choose the default Tailscale path. Then open runpane.com/app on your phone.
First-Time SSH Setup
Run one of these commands on the remote machine, not on your laptop.
macOS or Linux Installer
curl -fsSL https://runpane.com/install-remote.sh | sh -s -- --label "My Server" --prefer-tunnel sshPane Already Installed
pane --remote-setup --label "My Server" --prefer-tunnel sshPane Source Checkout
pnpm remote:setup -- --label "My Server" --prefer-tunnel sshWindows PowerShell
& ([scriptblock]::Create((irm https://runpane.com/install-remote.ps1))) -Label "My Server" -PreferTunnel sshWhat Setup Prints
SSH setup prints two important things:
- A
pane-remote://...connection code. - An SSH forwarding command, usually like this:
ssh -N -L 42137:127.0.0.1:42137 user@your-hostTreat the pane-remote://... code like a secret. It contains the bearer token that lets a client control that remote host.
Connect From Desktop Pane
On your local laptop or desktop:
- Run the printed SSH forwarding command.
- Leave that terminal open.
- Open desktop Pane.
- Go to
Settings > Remote Pane. - Paste the full
pane-remote://...code intoConnection Code. - Click
Import & Connect.
After that, switching to that remote profile means new panes and sessions run on the remote machine instead of your local one. You can still switch back to local mode or connect to a different saved remote profile.
Why Pane Uses a Daemon
SSH is the secure transport. Pane’s daemon is the product runtime.
The daemon understands Pane sessions, panel state, terminal streaming, file access, git state, and approval routing. Plain SSH gives you a shell. Remote Pane gives the local UI a structured runtime on the remote machine.
This design also keeps the network posture narrow. The daemon listens on loopback by default, so you do not have to expose a Pane control port to the public internet or your LAN. SSH, Tailscale, or a trusted HTTPS proxy becomes the access layer.
Desktop vs Browser App
Desktop Pane has the full Pane surface, including every panel type.
The browser app at runpane.com/app currently supports terminal-backed remote sessions. It is useful when you want to check or steer sessions from another desktop, phone, or tablet.
For browser and phone access, the remote daemon URL must be reachable from that device. That is why Tailscale or Manual HTTPS is usually the right path for mobile.