Skip to content

Interceptor v2.1.5

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Oct 23:47
bc10950

Interceptor v2.1.5

What is Interceptor?

Interceptor is an AI-agent control surface for the browser, desktop apps, and iPhone you already use. It works with your real signed-in sessions, so your cookies, accounts, tabs, and app state stay intact while an agent reads the interface and takes action.

Four surfaces, one CLI:

  • Browser: drive your live Chrome, Brave, Edge, or Safari session from inside the page. Read the DOM and accessibility tree, click, type, navigate, observe network traffic without CDP, automate rich editors and canvas apps, capture client-side exports, and record workflows for replay.
  • macOS: drive native apps through the Accessibility tree, trusted input, ScreenCaptureKit, and Apple's Vision, Speech, and Natural Language frameworks. Routine work stays in the background unless you explicitly ask the agent to show or focus an app.
  • Windows and Linux: interceptor desktop drives native apps with the same verbs, flags, and JSON replies as interceptor macos, through a native provider that ships in the Full packages.
  • iOS: drive any installed app on an owned, unlocked, Developer Mode iPhone through an on-device XCUITest runner, plus device-service and Instruments lanes for logs, files, processes, telemetry, location, and WebKit inspection.

Interceptor ships as one interceptor CLI, a local daemon, a browser extension, a native macOS bridge or Windows/Linux desktop provider, and an iPhone runner. It needs no API keys and does not launch a separate automation browser. interceptor mcp install exposes every surface to MCP clients such as Claude Code, Codex, Gemini CLI, Cursor, and Claude Desktop.


What's new in v2.1.5

Interceptor no longer disappears when the browser restarts

If Interceptor vanished every time you restarted Chrome, Brave, Edge or Vivaldi, and came back only when you loaded the extension again by hand, this release fixes it.

Through 0.24.13 the unpacked extension carried an older extension ID. 1.0.1 switched the same install folder to the Chrome Web Store ID. A browser profile that had loaded the old copy kept an entry for the old ID pointing at that folder, and at every start the browser found a different ID there and skipped the folder, so Interceptor was gone after each restart.

  • Installs and updates now check for it. The Mac packages (including Sparkle updates) and Windows Setup read each browser profile's settings, without changing them, and speak up only when they find a problem. Nothing happens to your browser until you click.
  • Brave, Vivaldi and Chromium on a Mac are fixed with one click. Restart closes the browser, opens it once with the old-ID copy that now ships in extension-legacy, and reopens your profiles. After that, a normal restart keeps Interceptor.
  • Google Chrome and Edge get exact steps, because they ignore the command-line switch the automatic fix uses: Load unpacked extension-legacy, then press the reload arrow on its card.
  • Check any time: interceptor diagnose extension lists every affected profile and its fix, and interceptor diagnose extension --fix runs the restart fix on a Mac. Plain interceptor diagnose now names affected profiles too.
  • macOS 27 asks first. macOS 27 requires your permission before an app reads Chrome, Brave or Edge settings. The check runs inside interceptor-bridge and asks once, in Privacy & Security > Files & Folders. It carries on as soon as you turn the browser on, and the window stays open while you do.

A welcome window on first install (Mac)

A first install of either Mac package opens an Interceptor window. It looks for a copy of the extension already in your browser. If there isn't one, it walks you through adding it from the Chrome Web Store, as an unpacked extension (it copies the folder path and opens a step-by-step guide), or for Safari, and tells you when the browser connects. Open it again with interceptor diagnose extension --welcome. Every repair dialog uses the same Hacker Valley look.

The Mac packages install on Macs without Chrome

On macOS 27, macOS refuses writes into a browser's folder when that browser is not installed. The installer stopped at that point and reported a failed install. It now skips that browser, logs a warning, and finishes.

Drive your iPhone away from your Mac, including on cellular

Open InterceptorRunner on the iPhone or iPad and it connects back to your Mac over Tailscale, then steps aside to the Home Screen. interceptor ios commands work as usual, with no --on needed when it is your only connected device.

  • Set it up once at home. Run interceptor ios refresh, then any interceptor ios command, so the device saves the connection. interceptor ios status shows deviceStartReady: true when it is ready.
  • Both sides prove a per-device secret without sending it, and the runner does nothing until your Mac has proved itself.
  • A phone reboot away from home ends this until the Mac launches the runner again. A free Apple ID works; nothing here needs a paid developer account.

An iPhone on your Wi-Fi connects without a VPN or a port forward

Since 1.0.3, Interceptor's local port has listened only on the Mac itself, so a phone on your Wi-Fi had nothing to connect to unless something forwarded the port. Your Mac now accepts the runner on the exact address it gives the phone, and only the runner: anything else that connects there is closed.

If you set up tailscale serve --tcp=19222 for this, remove it: tailscale serve --tcp=19222 off. That forward gave every device on your tailnet the whole Interceptor port, not just the iPhone runner. interceptor ios status shows remoteReachable: true when your Mac answers on its Tailscale address.

For developers: a one-app iPhone runner

ios/InterceptorRunnerFull builds a runner that can mount the developer disk image on the phone itself, so it starts after a reboot away from your Mac. It needs a paid Apple Developer team for its Network Extension and is not part of any package. See its README.

How it was tested

  • Mac, Apple silicon, macOS 27. The signed, notarized 2.1.5 Full and Safari packages were installed with installer; the CLI reports 2.1.5 (bc10950) and all seven browser contexts reconnected. The installer's own check ran and showed no dialog for a profile it had already reported. Plain interceptor diagnose read no protected folder and named the browsers it could not check; interceptor diagnose extension, running inside the bridge, read Brave and Chrome and reported the one affected profile with its steps.
  • The restart fix, on real broken browsers (pre-release builds with the same repair). On a Mac whose Brave lost Interceptor in four profiles at every restart, one Restart brought all five back, and they stayed through a plain quit and reopen. In a macOS 27.0.1 VM with the real install history (0.24.13 loaded unpacked, then 2.1.3), a double-clicked install asked for Files & Folders access, found the broken Brave, and fixed it with one click.
  • Windows 11 ARM64. The signed 2.1.5 Full installer, run silently the way an update runs it, installed extension-legacy and ran the check from Setup. With healthy Edge and Chrome profiles it stayed quiet. With a profile holding both IDs, it showed a visible dialog with the Edge steps, even though Setup starts the check hidden.
  • iPhone connection. From a second Mac on the tailnet, through a Tailscale relay: a runner registration with a valid device proof was accepted with the matching server proof; CLI actions and AppleScript sent to the same address were closed, and a forged proof was rejected. In pre-release builds, an iPhone 17 Pro Max on iOS 27.2 with Wi-Fi off was opened by a tap and driven from the Mac over LTE.
  • Linux. All four archives verify against the signed manifest.
  • Automated. 2,462 tests pass on the release branch, along with the typecheck, the capability-blind audit, and the Intel bridge build.

Everything ships together

The CLI, daemon, Chromium MV3 extension, Electron MV2 extension, native macOS bridge, Safari extension, iPhone runner, Windows desktop provider, Linux desktop provider, Windows x64 and ARM64 installers, and Linux x64 and ARM64 archives all report 2.1.5. Version 2.1.4 was never published.


Install

Download Platform What it installs When to pick it
Interceptor-Browser-2.1.5.pkg macOS 11+, Apple silicon CLI, daemon, and browser extension You want browser automation without macOS Accessibility or Screen Recording prompts.
Interceptor-Full-2.1.5.pkg macOS 15+, Apple silicon Browser package plus the native macOS bridge and LaunchAgent You also want to drive Finder, Mail, Slack, system dialogs, and other desktop apps.
Interceptor-Safari-2.1.5.pkg macOS 14+ Safari containing app and Web Extension Add Safari support after installing either core macOS package.
Interceptor-Browser-2.1.5-windows-x64.exe or windows-arm64.exe Windows 11 24H2+ Signed per-user browser-only install You want the browser surface on Windows.
Interceptor-Full-2.1.5-windows-x64.exe or windows-arm64.exe Windows 11 24H2+ Browser install plus the native desktop provider, its engines, and updates You also want to drive Windows apps with interceptor desktop.
Interceptor-Browser-2.1.5-linux-x64.tar.gz or linux-arm64.tar.gz Linux Browser-only archive You want the browser surface on x64 or ARM64 Linux.
Interceptor-Full-2.1.5-linux-x64.tar.gz or linux-arm64.tar.gz Linux, glibc 2.39+ Browser archive plus the native desktop provider, its engines, and updates You also want to drive Linux apps with interceptor desktop.

Start with Browser unless you need native app control. The Safari package is an add-on. The macOS packages run on Apple silicon only, and Installer refuses them on an Intel Mac; on an Intel Mac, build from source.

Checksums. SHA256SUMS is the signed manifest for the Linux archives (SHA256SUMS.cms, verified by verify-release-manifest.sh with linux-release-apple-root.pem). SHA256SUMS-ALL lists every file in this release. The Windows installers are Authenticode-signed, and the Browser installers also carry GitHub build attestations.

On Linux, verify and install the Full archive from your graphical session:

bash verify-release-manifest.sh .
tar -xzf Interceptor-Full-2.1.5-linux-arm64.tar.gz
cd Interceptor-Full-2.1.5-linux-arm64
bash scripts/install.sh --full

Already on a Full install? Mac: interceptor update. Windows and Linux: interceptor update checks now, and the update window does the rest.