Pair the Aiola phone app with Aiola Desktop through a QR code in Central Settings. The iOS or Android client connects to the desktop's local Aiola server over LAN or Tailscale. This guide covers pairing, connection routes, device status, and removing access.
What the desktop connects
Connections makes the desktop's local server reachable from a paired phone. Until you enable network access, that server listens only on the computer's loopback address. Open Central Settings, then Connections, to enable access, view endpoints, and manage paired devices.
The desktop starts the server, chooses its listening port, and lists network endpoints in preference order. It tries a preferred port but can select another available port. Use the displayed or generated endpoint instead of entering a fixed port yourself.
How do you pair the phone?
Sign in to the phone app with the same Aiola account used on the desktop. Pairing sends the phone account's bearer token to the desktop. The desktop rejects a pairing token created under a different account.
Follow the mobile connection guide to complete these steps:
- In Aiola Desktop, open Central Settings, then Connections.
- Turn on Allow LAN connections.
- Wait for the local server to restart and display its connection URLs.
- On Windows, allow Aiola on private networks when Windows Firewall prompts.
- Under Devices, select Add and keep the dialog open while the QR code appears.
- Open the phone app's QR scanner and scan the desktop code.
The phone exchanges the short-lived pairing token for a device credential and tests the candidate URLs. The QR code supplies the addresses, so pairing does not require typing an address.
Which connection route should you use?
Tailscale requires the desktop and phone to be signed into the same tailnet. LAN requires the phone to reach the desktop on the local network.
| Route | When it applies | Transport |
|---|---|---|
| Tailscale | Preferred when discovered; both devices share a tailnet | Encrypted |
| LAN or Wi-Fi | Fallback and legacy route on the local network | Not encrypted |
Allow LAN connections exposes the local server on the listed network interfaces. Enabling it binds the server to 0.0.0.0; disabling it returns the server to 127.0.0.1. Private IPv4 interfaces appear as Wi-Fi, Ethernet, or Local network endpoints.
The QR code contains one URL per reachability class. Version-3 clients try those candidates automatically in desktop-supplied order, with Tailscale before LAN when both exist. The legacy single-route fallback prefers LAN for version-2 clients.
The payload also carries a one-time pairing token and the desktop's display name, when available. A Tailscale hostname is omitted when its IP address already represents the same route.
How do you see device status?
The desktop Devices list shows paired-device information alongside connection status. Each row can show a device name, platform, remote address, last-seen time, and pairing time. Supported platform labels include iOS, Android, Web, Desktop, and Unknown platform.
Online or offline describes the current connection state. The remote address comes from the live connection or the last persisted address. Last seen can likewise use live or persisted information, while Paired records credential creation time.
The list refreshes every 10 seconds. It also refreshes when the desktop window gains focus or becomes visible. During normal activity, presence updates are persisted at most once every 60 seconds.
What does the pairing code grant?
The QR contains a one-time bootstrap secret rather than a reusable account token. The phone exchanges that secret for a persistent device credential tied to the signed-in desktop owner.
For a WebSocket connection, the paired client presents its device credential to obtain a ticket. That ticket is single-use and expires after 60 seconds. The connection uses the ticket in its URL rather than exposing the device credential there.
The server stores hashes of bootstrap secrets, device credentials, and tickets. Raw secrets are returned only to callers. Credential responses also carry instructions preventing caching. The Connections reference documents these credential and ticket rules.
How do you remove phone access?
Select Revoke access beside the paired device, then confirm Revoke access. Aiola invalidates that device's credential and its issued tickets, then immediately closes matching live connections.
To restore access, scan a new QR code and pair again. Re-pairing the same device ID replaces its previous credential. Revocation applies to paired devices. A live connection without a paired-device credential cannot be revoked through this action. Remove access for paired devices you no longer recognize through the Devices list.
What should you check when pairing fails?
If connection URLs are missing, check that Allow LAN connections is enabled and the server has finished restarting. On Windows, a phone on the same Wi-Fi cannot connect without the private-network firewall permission.
If Tailscale fails, confirm both devices use the same tailnet. The phone then tries LAN if that route is available.
For a rejected QR code, select Generate a new code. If a fresh code fails while both devices are reachable, check that their Aiola accounts match. Then generate another code and scan again.
Which devices are supported?
Aiola is one desktop app for macOS 12 or newer and Windows 10 or newer. The mobile connection guide supports iOS and Android clients. The desktop Connections interface is implemented on both supported desktop platforms.
Try it in Aiola with the free desktop download. Desktop version 2.0.8 is the current release; open Central Settings, then Connections, to begin pairing.




