Repository navigation
Interceptor v2.1.2
Interceptor v2.1.2
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 desktopdrives native apps with the same verbs, flags, and JSON replies asinterceptor 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.2
Version 2.1.2 follows 2.1.1. It is a fix release, with three fixes from contributors and two from issues.
A background click no longer crashes the page (#302)
On a Mac, a click or drag sent to a named app or window carried a time from just after the computer started: the event's timestamp was never set. Chrome, Brave, and Electron apps crash the tab when such a click changes the page's route. On 2.1.1, one interceptor click <ref> --trusted on a button that changed the route crashed a Brave tab. Clicks and drags now carry the current time, in the bridge and in the in-guest agent.
Thanks to @pai-scaffolde, who found the crash in an Electron app and traced it to the timestamp.
Closing a tab group no longer leaves a saved group behind (#306, fixes #301)
Chrome and Brave save every tab group. When Interceptor closed an agent's group with its window, the browser kept it as a closed saved group: a chip on the bookmarks bar and a row in the Tab groups menu, synced to every profile on the account, one per agent session. group close, tab close on a group's last tab, window close, and the idle cleanup now ungroup the tabs first, so the browser deletes the group. A group that keeps a tab stays, and groups you made yourself are not touched.
New interceptor group prune deletes the closed saved groups that earlier versions left on the bookmarks bar:
interceptor group prune --dry-runlists them.interceptor group prunedeletes them;interceptor group prune <label>deletes only the groups you name.- It needs the Full install and a bookmarks bar that is showing, and it skips a browser you are using at that moment. A delete syncs to every profile on the account and cannot be undone.
- When it cannot see a browser, it says so instead of reporting nothing to delete. On Linux under Wayland, Chromium exposes no accessibility tree, so delete those groups by hand (right-click the chip, then Delete group).
Thanks to @pedramamini for the fix and the prune verb, and to @IvanLeontev-stack for the report and the workaround in #301.
A web page can no longer connect to Interceptor (fixes #274)
The local port the browser extension uses was bound to the computer itself, but it accepted any connection, and a browser lets a web page open a connection to it. The port now answers by who is asking: the extension and local programs are served, and a connection that comes from a web page is refused.
Thanks to @mdipaolo1 for the report and the proposed rule.
The Mac packages install only where they run (#299)
The packages said they installed on Intel Macs, and their programs cannot run there. Installer now refuses them on an Intel Mac before anything is installed. An Intel Mac can still build Interceptor from source. scripts/release.sh --universal builds packages for both kinds of Mac; this release is not built that way.
Thanks to @kootik.
The bridge builds against the macOS 27 SDK (fixes #309)
The macOS 27 SDK changed one photo field to optional, and a source build stopped on it. Thanks to @lukfechin for the report and the one-line fix.
How it was tested
Every check below ran on signed builds installed the way a user installs them: the Mac packages through installer, the Windows Full installer silently, and the Linux Full archive with its installer after the signed manifest verified.
- Background clicks (Mac, Brave 155). On 2.1.1, one trusted background click on a page that changes its route crashed the tab. On 2.1.2, ten such clicks changed the route ten times in the same page with no crash. A small test window received every background click, right-click and drag with a timestamp within a few milliseconds of the system clock; on 2.1.1 those events read 0.2 to 0.6 seconds after startup. Background typing, keys and scrolling still landed.
- Saved tab groups (Linux, Chromium 153, bookmarks bar shown). With the 2.1.1 extension,
group close,tab closeon a group's last tab, andwindow closeeach left a closed saved group on the bar. With 2.1.2, none did. group prune(Windows 11, Chrome 155). A closed saved group made through Chrome's own tab menu was found by--dry-run, then deleted: prune opened the chip's menu in the background, pressed Delete group, answered Chrome's "Delete tab group?" confirmation, and the chip was gone. On the Mac,--dry-runfound Chrome and Brave by bundle id and reported the windows whose bookmarks bar it could not read. On Linux under Wayland, Chromium is not visible to the accessibility layer, and prune now says so.- WebSocket port (Mac, Windows, Linux). A connection with a web page's origin got 403 on all three. The CLI and the browser extension still connected. From a real web page,
new WebSocket("ws://127.0.0.1:19222")failed. - Mac packages. All three are notarized and stapled. The Full and Browser packages declare Apple silicon only to Installer. A separate
release.sh --universalrun produced notarized packages with both architectures in every binary; that build is not shipped. - macOS 27 SDK. The new photo-field spelling compiles against both the old and the new declaration, and
interceptor macos photosrows still carry the added date.
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.2.
Install
| Download | Platform | What it installs | When to pick it |
|---|---|---|---|
| Interceptor-Browser-2.1.2.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.2.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.2.pkg | macOS 14+ | Safari containing app and Web Extension | Add Safari support after installing either core macOS package. |
| Interceptor-Browser-2.1.2-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.2-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.2-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.2-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.2-linux-arm64.tar.gz
cd Interceptor-Full-2.1.2-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.