Guide

Connect your machines with Tailscale

To run coding agents on another computer from anywhere, put both devices on Tailscale, and turn on SSH on the machine. wisp does the rest by the machine’s tailnet name, from your laptop or the wisp Android app: your password there once, then Node.js and wisp, and nothing is exposed to the internet. Settings → Machines → This computer checks each step for you.

Source on GitHub

Free and open source · Claude Code, Codex, Cursor CLI, opencode, Antigravity CLI, Grok Build · macOS, Linux, Windows (beta) · Node 20+

Why Tailscale

Any other way to reach the machine over SSH works too: your LAN, a VPN, or a cloud VM with a public address.

1. Get the machine ready

The machine is the computer the agents run on: a desktop, a home server, a Mac mini, a cloud VM. It runs macOS or Linux (on Windows, use WSL). If wisp is already installed there, open Settings → Machines: This computer shows which of these steps are done and gives the command for each one that isn’t.

  1. Install Tailscale and sign in from tailscale.com/download. On Linux:
    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
  2. Turn on SSH. On macOS, System Settings → General → Sharing → Remote Login, or:
    sudo systemsetup -setremotelogin on
    On Debian or Ubuntu:
    sudo apt install -y openssh-server && sudo systemctl enable --now ssh
    On Fedora: sudo dnf install openssh-server && sudo systemctl enable --now sshd.
  3. That’s it. wisp installs Node.js there by itself when it’s missing (into ~/.wisp/node, no admin needed) and starts itself with npx. Once connected, pick a coding agent in wisp’s Settings → Agents: opencode installs in one click; Claude Code and Codex need their CLI signed in once.

2. Connect from your laptop

  1. Install Tailscale on the laptop and sign in with the same account.
  2. In wisp, open Machines. The machine is listed under Computers wisp found with its tailnet name: pick it and press Add and connect.
  3. The first time, wisp says This computer isn’t allowed in yet: type your password for the machine and press Let me in. wisp adds this computer’s SSH key there (making one if you have none) and never keeps the password. Prefer a terminal? ssh-copy-id you@devbox does the same.

wisp then installs Node.js there if it’s missing, starts npx -y wisp-agents (or reuses the one already running) and forwards a local port to it. What you can do once it’s connected →

3. Connect from your phone

The wisp Android app (a prototype; build it from mobile/ in the repo) opens wisp on your computers: tap one and you’re in its wisp, with every feature.

  1. Install the Tailscale app on the phone and sign in.
  2. In wisp, tap Add your computer, type you@devbox and your password on it. The password is used once: the app adds its own key there and forgets it.
  3. Tap Connect. The card shows the same steps as on the desktop (Node.js and wisp get installed if they’re missing), then wisp opens.
  4. Computers in wisp’s top bar brings you back to the list, to switch to another computer or add one.
  5. Allow notifications when asked. While the machine is connected, a finished task or a question shows up as an Android notification, even with the screen off; tap it to open the task.

Optional: Tailscale SSH, no keys at all

On a Linux machine, Tailscale SSH lets the devices on your tailnet in by their Tailscale identity, so there are no keys to copy:

sudo tailscale set --ssh

Your tailnet’s access rules decide who may connect. wisp on the laptop and the phone app both work with it. On macOS, use Remote Login: the Mac App Store build of Tailscale can’t run an SSH server.

What is exposed

Only SSH, and only inside your tailnet. wisp on the machine listens on its own 127.0.0.1, so the only way to reach it is through an SSH tunnel you opened yourself. There is no wisp account, relay or cloud in between.

Questions

Do I need Tailscale?
No. wisp needs SSH access to the machine. Tailscale makes that work from anywhere without opening ports, and a LAN, a VPN or a cloud VM with a public address work just as well.
Which machines can run agents?
macOS and Linux with SSH and Node.js 20+. On Windows, run wisp inside WSL. Phones and tablets connect to machines; they don’t run agents.
How do I check that a machine is ready?
Install wisp there and open Settings → Machines. This computer checks the SSH server, Tailscale and authorized keys, and shows the address to connect with.
Does the phone app need its own key?
Each machine uses one of the keys on the phone: one the app makes (it shows the authorized_keys command) or one you import. With Tailscale SSH on a Linux machine, no key is needed.