Back to changelog
v1.82.0October 22, 2026

Your desktop on your iPhone: encrypted notifications, and orchestration, tasks and a live browser from the phone

1DevTool now serves the 1DevTool iPhone app (beta): a paired phone gets end-to-end encrypted notifications while the app is closed, catches up on what it missed when it reconnects, and is given its role before it pairs. Phones connect over your local network or Tailscale with a full-screen pairing code, and an Operator phone can steer orchestration, work the task board, drive a live browser and combine terminals. Fixes for phone terminals after a Wi-Fi to Tailscale switch, the phone's History list and Reader Mode round it out.

Download v1.82.0

The download page always has the newest build; installers for this version are on GitHub.

What changed

New features

11
  • Notifications while the phone app is closed — when a paired iPhone is not connected, 1DevTool sends it an end-to-end encrypted push: the text is sealed with a key only that phone and this computer hold, so the push server and Apple see only ciphertext; a push only informs and never approves or runs anything
  • Catch up on what the phone missed — activity sent to phones is kept for a while, so a phone that slept through it shows the missed notifications as soon as it reconnects, and it learns this computer's Tailscale address so it can still reach it away from home
  • Pick the role before the phone pairs — Role for the next device sits next to the pairing code (Viewer, Approver, Operator or Admin, default Admin), and the phone gets that role without a prompt afterwards; the QR code itself carries no authority
  • Choose how phones connect — Connection type offers Automatic (this network first, then Tailscale when it is running), Local Network or Tailscale, and Tailscale addresses show as the computer's name instead of a raw IP
  • Show the code full screen — a pairing QR that fills the window scans from across the desk, in light or dark
  • Steer orchestration from the phone — teams, hierarchy, pipeline runs, goals, links and activity on the phone, and from an Operator phone: message a seat, remind or stop waiting on a delegation, continue or abort a goal, approve a link, and save a drafted chart; consequential actions are confirmed on the phone before this computer acts on exactly what was shown
  • Two switches under Orchestration from phones: Allow phones to steer orchestration (operator actions), on by default, and Allow phones to grant read access, off by default, which lets a phone approve a link that reads another agent's transcript after showing what will be shared
  • Task board on the phone — read a project's tasks, capture a new one, move it across columns and comment, from an Operator phone
  • Live browser on the phone — open a page, including your local dev server, and tap, scroll and type into it from the phone; the page runs on this computer and only its picture reaches the phone
  • Combine terminals from the phone — merge several agents' transcripts into one agent, the same way the Merge dialog does
  • Paired phones show this computer's name — instead of its pairing address

Improvements

2
  • Phone screenshots fit the connection — browser screenshots for a phone are sent as JPEG and scaled to stay within the phone link's reply limit, instead of failing on large pages
  • Drawing a chart on the phone never interrupts the desktop — a chart drafted from the phone runs beside the Draw canvas instead of cancelling a generation you are waiting on

Bug fixes

3
  • Fixed a phone terminal going silent after switching from Wi-Fi to Tailscale — when the old connection timed out it detached the live one too, so output stopped while typing still went through; each connection now only detaches its own terminals
  • Fixed the phone's History list failing to load — one session with a fractional timestamp made the whole page fail on the phone; timestamps are now whole milliseconds
  • Fixed Reader Mode staying empty when 1DevTool was started from a Claude Code terminal — Claude in 1DevTool's terminals thought it was nested and skipped its transcript; those session markers are no longer passed on