Intent on remote machines
You can run the Intent background service (intentd) on a separate computer, such as a Linux server, a spare Mac, or a Windows PC, and control it from the desktop or iOS app. Your workspaces and agents are stored on that computer.
Once connected, see Multi-device support to move workspaces between computers, or Intent mobile to use the iOS app.
Check requirements
On the remote computer, install:
- git (required)
- Node.js with npm (required, used to run coding agents)
- GitHub CLI (
gh) (optional, connects Intent to GitHub without a manual token)
Install intentd
Use the option for your system.
macOS or Linux
curl -fsSL https://github.com/intent-hq/intentd-releases/releases/download/sitter-latest/install.sh | shWindows (PowerShell)
powershell -c "irm https://github.com/intent-hq/intentd-releases/releases/download/sitter-latest/install.ps1 | iex"Homebrew
brew install intent-hq/tap/intentd
brew services start intentdDebian or Ubuntu
sudo apt install ./intentd_amd64.deb
systemctl --user enable --now intentdThe install script asks whether intentd should start automatically when you log in. To answer yes without the prompt, set INTENTD_INSTALL_SERVICE=1. If you decline, start it manually with intentd start.
On a Linux server with no display, run this so intentd starts when the machine boots:
sudo loginctl enable-linger $USERAllow other devices to connect
Apps connect on port 5181. At first, intentd only accepts connections from the same computer. Choose one way to open access:
- Local or Tailscale network: set
server.bindAddressto the computer’s network IP address, a list of addresses, or0.0.0.0for all addresses. Use this when your devices share a home or office network, or are all on the same Tailscale network. Apps connect directly to the computer, but only from devices that can reach it on that network. - Tunnel: set
server.tunnel.enabledtotrue. The computer gets a permanent address starting withtc. Use this to reach the computer from anywhere, such as a phone on mobile data or a cloud server behind a firewall, without opening ports or setting up a VPN. To also block direct local network connections, setserver.tunnel.onlytotrue.
Change any setting with:
intentd settings <name> <value>For example: intentd settings server.tunnel.enabled true
Get pairing details
On the remote computer, run:
intentd pairYou’ll see a QR code, a URL, a bearer token (a password-like key), and a TLS fingerprint (a code that identifies the computer’s security certificate).
Useful options:
intentd pair --png pair.pngsaves the QR code as an image.intentd pair --rotatecreates a new token and disables the old one.
If the connection listener is off, intentd pair offers to turn it on with no restart. Add --yes to accept automatically in scripts.
If the computer still accepts only local connections and no tunnel is running, pairing stops and tells you which setting to change.
Connect from an app
Desktop app
The quickest way is to open the intent:// link that intentd pairprints. The desktop app opens and fills in the URL, bearer token, and TLS fingerprint for you, so you don’t need to complete the form.
To add the computer by hand:
- Go to Settings → Machines → Add device.
- Enter the URL, bearer token, and TLS fingerprint.
- Open the device’s Edit panel, select Test connection, then select Connect.
iOS app
Scan the QR code from intentd pair with the app’s pairing scanner. The desktop app can also display a QR code for its current connection under Settings → Mobile → Intent Mobile → Show QR Code.
On the first connection, the app saves the computer’s fingerprint and checks it every time you reconnect.
Tips
- Each workspace and agent belongs to one computer. If something seems missing, check which device is active in Settings → Machines.
- To view a dev server running on the remote computer, open
http://daemon.localhost:<port>in the app’s built-in browser. The desktop app forwards the port for you. - Treat pairing links, QR codes, and tokens like passwords. If one leaks, run
intentd pair --rotate. - Scanning a QR code shares connection details only. Confirm separately that your device can reach the remote computer over the network.