Skip to main content
Pairing links your iPhone (and transitively your Watch) to the Continuum daemon running on your Mac. The Mac is always the host; the iPhone is a remote control.

How to pair

1

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.
2

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.
3

Confirm

The iPhone and Mac exchange bearer tokens and derive a per-pairing session key. The Mac shows the iPhone as a paired peer.
Full controls — including token regeneration and revocation — live in Settings → Pairing on the Mac.

Transport options

Continuum supports two transport modes. The correct one is selected automatically based on what is available.
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 (mac or ios), 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.
See Security for the full cryptographic specification.

URL schemes

The pairing QR encodes a clawdmeter:// 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

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.
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.
The iPhone checks the Mac daemon’s wire version. When the Mac is running an older version, features that require a newer wire version are hidden and a banner is shown. Update the Mac app to resolve this.
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.