v0.2.0 availableAndroid · smart glasses local relayLAN-first · funnel optional
Claude Code on your glasses

Approve your agent from anywhere at all — Clairvoyant.

Clairvoyant streams your running Claude Code sessions to camera-equipped smart glasses and lets you approve or deny tool permissions with a glance — while your credentials never leave your machine. At home it's all LAN; one flag takes it anywhere with an internet connection.

Install ↓ GitHub ↗ open source (MIT) · APK + npm relay
recorded on glass · real session · 4× speed
watch the full demo ↗
Architecture · three pieces

Your terminal, a relay, your glasses.

Clairvoyant attaches to the Claude Code sessions you already run. Nothing moves to the cloud; the relay lives on your machine and the glasses talk to it over your Wi-Fi — or, away from home, over a token-gated Tailscale Funnel.

runs claude
Your terminal
sessions you already started
on your machine
Relay
escalates & streams
on your face
Glasses
monitor · allow · deny
01

Prompt mirroring

A PermissionRequest hook fires only when Claude Code is actually showing a permission dialog, and your answer on the glasses resolves that exact dialog. No guessing, no double prompts — glasses ask if and only if the terminal would.

02

Live transcript

Each session's conversation streams to the glasses over WebSocket, so you can watch what your agent is doing — not just gate it.

03

QR pairing

The relay dashboard shows a QR carrying host, port, and a channel token. Scan it once with the glasses and you're paired.

04

Away from home

Start the relay with --funnel and it publishes just its WebSocket through Tailscale Funnel. The glasses dial your LAN first (3-second timeout), then fall back to the funnel — walk out mid-session and the connection follows you.

Security model · safe by construction

Your Claude credential never leaves your machine.

The glasses don't log in to Claude. They authenticate to the relay with a secret it mints itself.

Credential stays home

Claude is authenticated on the host, exactly as before. The relay never forwards or copies the credential.

Glasses get three things

Host, port, and a channel token — plus, in funnel mode, the public fallback address. That's the entire contents of the pairing QR. The dashboard (and its token) never leaves your LAN; only the token-gated WebSocket is ever public.

Fail-open, never bypass

Anything not explicitly answered on the glasses falls back to Claude's own permission prompt. The relay can't silently approve.

Revoke in one click

Leaked the QR? Regenerate the token and every previously paired device is locked out.

Install · two halves

Glasses app + host relay.

The Android app runs on the glasses; the relay runs next to your terminals. Pair them with the QR and run Claude Code as usual.

v0.2.0
on the glasses

Clairvoyant for Android

Camera-equipped Android smart glasses — built and tested on Rokid Glasses. Enable ADB debugging in the Hi Rokid companion app, connect the 5-pin dev cable, then sideload:

# with Android platform-tools installed
adb install -r clairvoyant-0.2.0.apk
# open Clairvoyant, then scan the relay's QR

No cable? A community Wi-Fi APK uploader can push it over the air.

Download APK ↗

npm
on your machine

Clairvoyant Relay

Install the relay, add the hooks to your Claude Code settings, and start it. It prints a dashboard URL with the pairing QR.

# host machine
npm install -g clairvoyant-relay
clairvoyant-relay install-hook
clairvoyant-relay start
# away-from-home mode (needs Tailscale + Funnel):
clairvoyant-relay start --funnel
# then scan the QR from the dashboard
Get it

Grab v0.2.0.

The relay is on npm and the signed glasses APK is a GitHub release asset — both open source (MIT). Hit a bug, or have glasses I haven't tested? Reach out.

Latest release ↗ srchig@iu.edu