The desktop app you scrape updated overnight: a version watch that re-checks what you depend on, once per change
Description and use
Relaymote automatically detects UI changes in Claude Desktop after updates, issuing a single alert and avoiding false positives by running checks only on version changes and handling restarts.
Problem
A desktop app update silently broke a remote scraper by changing UI layout, causing incorrect session titles and no error logs.
Outcome
Relaymote now reliably reports UI changes after Desktop updates, preventing silent data corruption and reducing noise by running checks only on version changes and handling transient restarts.
Workflow
- 1. Detect installed Desktop and Claude Code versions by reading the newest folder names on disk.
- 2. Perform a live check of the UI: confirm debugger connectivity, verify session list presence, detect polluted titles, check status labels, and parse the newest transcript for unknown record types.
- 3. Separate problems from notes: treat new transcript record types as notes, not failures.
- 4. Run the check only when a version change is detected, saving the state to avoid repeated alerts.
- 5. Handle transient debugger unavailability after restarts by marking the issue as pending and retrying up to six ticks.
Evidence
Relaymote reads two things it does not own: the Code tab’s sidebar (through the debugger port) and the session transcripts on disk.
One Desktop update (2.42304.2 to 3.1623.0) moved screen‑reader‑only status text inside each sidebar row’s button. Relaymote read the row’s text as the session title, so titles came out as " Awaiting input".
The lesson is: notice the update, run a live check of every surface you depend on, and say the result once.
- Record date: 2026-11-03T07:29:15.497Z