How to pair
Open the QR popover on Mac
In the Mac app dashboard header, click Sync with iPhone. A QR code popover appears. There is also a Copy URL button as a fallback.
Scan with iPhone
Open Continuum on your iPhone, go to the Sessions tab, and tap Scan QR. Aim the camera at the Mac’s QR code.
Transport options
Continuum supports two transport modes. The correct one is selected automatically based on what is available.- Secure relay
- Local / Tailnet
When iPhone and Mac are on different networks, Continuum uses a Cloudflare relay Worker.
- All frames are XChaCha20-Poly1305 encrypted end-to-end. The relay Worker sees opaque bytes only — never body content.
- The relay sees: protocol version, sender role (
macorios), envelope type, byte count, and your IP. - Per-pairing ECDH key derivation: fresh ephemeral X25519 keypairs on both sides; private keys are in-process memory only and zeroized after the session closes or the 15-minute QR TTL expires.
- The relay Worker never holds the symmetric session key. An operator with full storage access cannot decrypt captured traffic.
URL schemes
The pairing QR encodes aclawdmeter:// URL. A clawdmeters:// scheme is also accepted by the iOS scanner for forward-compatibility with TLS setups.
Server-side TLS termination is not implemented yet. The
clawdmeters:// scheme is forward-compatible plumbing. Both schemes function identically today; the daemon still listens on plain HTTP.Watch pairing
Apple Watch pairs through the iPhone. The iPhone pushes session tokens to the Watch over WCSession (WatchTokenBridge). The Watch does not connect to the Mac daemon directly.
Troubleshooting
Tailscale installed but not running
Tailscale installed but not running
Continuum detects when Tailscale is installed but the backend is not running and warns “Tailscale installed but not running.” The pairing URL would contain a local IP that is unreachable from the iPhone. Start Tailscale, then regenerate the QR code.
QR scanned but connection fails
QR scanned but connection fails
Try the Copy URL fallback: copy the pairing URL from the Mac popover and paste it into the iPhone’s pairing flow. If that also fails, regenerate the QR from Settings → Pairing → Regenerate, and scan the new code.
iPhone shows an 'Update Continuum on the Mac' banner
iPhone shows an 'Update Continuum on the Mac' banner
Port already in use
Port already in use
The HTTP daemon starts at port
21731 and tries fallback ports through 21741 if occupied. If all ports in that range are unavailable, the daemon fails to start. Check for conflicting processes with lsof -i :21731.