Skip to content

Interceptor v2.1.6

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Oct 11:16
4898cf3

Interceptor v2.1.6

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

Read a Mac camera with no window on screen

interceptor macos camera gives an agent frames from a camera with nothing on screen, so a face, a desk, or a room can be checked while other windows are on top.

interceptor macos camera list
interceptor macos camera start [--device <id|name>] [--fps 1-30] [--prompt]
interceptor macos camera frame [--out <path>] [--max-long-edge N] [--quality 1-100] [--timeout-ms N]
interceptor macos camera status
interceptor macos camera stop
  • No surprise prompt. A plain camera start never shows the macOS camera prompt or changes the app in front. Until the camera is allowed, it says to run camera start --prompt, which shows the prompt once and then gives focus back to the app you were in. An answer after two minutes does not turn the camera on.
  • The camera runs at the rate you ask for, not its own default, so a 5 fps watch does not process 30 frames a second. status reports the rate as deviceFps, along with the frame age and whether the camera was taken away mid-session (lid closed, an iPhone walked off).
  • frame writes a JPEG with --out, or returns it inline.
  • macOS only, with the Full package: the camera permission belongs to interceptor-bridge. Windows and Linux refuse the command as macOS-only.

Thanks to @pedramamini for the feature in #313.

Install with one command

macOS (Apple silicon) and Linux:

curl -fsSL https://raw.githubusercontent.com/Hacker-Valley-Media/Interceptor/main/scripts/get-interceptor.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/Hacker-Valley-Media/Interceptor/main/scripts/get-interceptor.ps1 | iex

It asks two questions, and Enter at both gets everything: Full or Browser only (Full is the default), and register the MCP server in the AI apps it finds (yes is the default, with every tool on). It downloads the newest release, checks its SHA-256 and the Hacker Valley Media signature, and installs it with no Installer wizard. Nothing installs if a check fails. It also adds Interceptor's skills to every AI agent on your computer. Run it again any time to update; it keeps your edition. Options such as --browser, --no-mcp, --safari and --no-skills go after bash -s --.

Prefer Apple's own tools on a Mac? https://updates.hackervalley.media/latest/Interceptor-Full.pkg (and Interceptor-Browser.pkg, Interceptor-Safari.pkg) always points at the newest release; check it with spctl -a -vv -t install before sudo installer -pkg … -target /.

The iPhone runner says why it could not connect

If the iPhone runner could not reach your Mac, the launch ended with "xcodebuild exited with code 0", which said nothing. Now:

  • The runner reports its reason in about 15 seconds: InterceptorRunner could not reach ws://… in 6 tries: Could not connect to the server., followed by what to check for that kind of address.
  • Your Mac checks itself first. Before launching, it confirms it answers on the address it gives the phone, and stops at once with this Mac does not answer on ws://… when it does not. interceptor ios status shows the same check as dialBackReachable.
  • Run interceptor ios refresh once to get a runner that reports its reason. An older runner gets a message that says so.

Thanks to @austinm911 for the report and the diagnosis in #314.

Windows and Linux check for updates once a day again

If a Full install could not save the time of its last update check (a full disk, for example), it checked again right away, over and over. It now waits a day either way. On Windows and Linux, interceptor update installs 2.1.6 through the update window.

Smaller fixes

  • interceptor mcp status --json prints JSON instead of the text table.
  • interceptor macos camera refuses an empty --device or --out instead of falling back to the default camera or an inline frame.

How it was tested

  • Mac, Apple silicon, macOS 27. The signed 2.1.6 Full, Browser and Safari packages pass Gatekeeper as notarized. Full and Safari were installed with installer; the CLI reports 2.1.6 (4898cf3), and every connected browser picked up the 2.1.6 extension after interceptor reload.
  • Camera, on the installed 2.1.6 bridge. camera list found three cameras; status read the grant without a prompt; start --fps 5 on a USB capture card started with deviceFps 25 (that device's lowest rate), frame wrote a 640x360 JPEG, and stop ended the session. The app in front never changed, and an empty --device was refused. On a pre-release build of the same branch, pressing Allow and Don't Allow on the real macOS prompt each returned focus to the app that had been in front.
  • iPhone. On an iPhone 17 Pro Max with iOS 27.2 (pre-release builds of the same change): a normal launch registered through the runner-only listener; with nothing listening, the launch failed in 13 seconds with InterceptorRunner could not reach ws://…:9 in 6 tries: Could not connect to the server.; a 2.1.5 runner in the same case got the ios refresh message. On the installed 2.1.6, ios status reports dialBackReachable: true on the Mac's Tailscale address.
  • One-command install. Before release, on a macOS 27 VM: a fresh install answering Full, a re-run, a run with no terminal, the update host unreachable (it used GitHub), and a tampered package (refused, nothing installed). Also a Linux ARM64 VM (fresh and upgrade) and a Windows 11 ARM64 VM (fresh and re-run). The scripts on main now print their help through the one-line commands.
  • Windows 11 ARM64, through the live update feed. A 2.1.5 Full install ran interceptor update, found 2.1.6, and opened the update window. Install Update downloaded the installer and checked it against the signed feed and its Authenticode signature; Install and Relaunch installed it, the CLI reports 2.1.6 (4898cf3), and the next scheduled check is one day later. Get-AuthenticodeSignature reports the Full installer Valid, signed by Hacker Valley Media LLC with a Microsoft timestamp.
  • Linux. All four archives verify against the signed manifest.
  • Automated. 2,396 tests pass on the release branch, along with the typecheck, the capability-blind audit, the Rust updater tests, 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.6.


Install

The quickest way in is the one-command install above. Prefer a download? The links below are on this release, and https://updates.hackervalley.media/latest/<file> (for example Interceptor-Full.pkg or Interceptor-Full-windows-x64.exe) always points at the newest one.

Download Platform What it installs When to pick it
Interceptor-Browser-2.1.6.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.6.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.6.pkg macOS 14+ Safari containing app and Web Extension Add Safari support after installing either core macOS package.
Interceptor-Browser-2.1.6-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.6-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.6-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.6-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.6-linux-arm64.tar.gz
cd Interceptor-Full-2.1.6-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.