Browser Use launches macOS Harness for direct control of Mac apps
The open-source Python layer gives coding agents access to native apps, logged-in browsers, files and shell commands through six primitives.
By Ryan Merket · Published
Primary source: X
Why it matters
Browser Use is moving its agent architecture from web automation into the operating system, giving coding models a common control layer for browsers, native apps and local files.

Gregor Zunic (@gregpr07), co-founder and CTO of Browser Use, launched macOS Harness on August 17th, an experimental open-source Python layer that lets coding agents operate native Mac applications alongside browsers, files and shell commands.
Zunic introduced macOS Harness in a thread on X as a persistent harness for Mac tasks. The GitHub repository shows the larger bet: Browser Use is extending its agent infrastructure beyond websites and giving models a small set of raw interfaces for controlling the rest of a user's computer.
Zunic studied data science at ETH Zurich after earning a bachelor's degree in physics, according to Y Combinator's Browser Use profile. He co-founded the San Francisco company with Magnus Muller in 2024 and joined YC's Winter 2025 batch. Browser Use began with an open-source library for connecting AI agents to websites; macOS Harness pushes that approach into desktop software.
Six primitives instead of app-specific integrations
macOS Harness exposes six primary operations: see, key, type, click, ax and script. Together, they let an agent capture an application's window, send keyboard or coordinate input, inspect Apple's accessibility tree and execute AppleScript. Browser Use also places its existing Browser Harness, Python's filesystem tools and subprocess access inside the same persistent process.
That persistence is central to the design. Variables, helper functions and state can survive across calls, allowing an agent to write missing Python logic during a task instead of depending on a fixed catalog of integrations. Browser Use says there are no dedicated tools for apps such as Spotify, Slack or Final Cut. The model receives the underlying Mac primitives and constructs the required workflow itself.
The repository's example has an agent capture Spotify, open search with a keyboard command, enter an artist's name, click a coordinate, inspect the interface through accessibility data and send an AppleScript command to begin playback. The same process can query a logged-in Chrome session through the Chrome DevTools Protocol and inspect local files.
Browser Use says the harness can capture background application windows without bringing them forward, direct input to a specific process and display a click-through virtual pointer without moving the user's physical cursor. That last feature addresses a practical problem with desktop automation: an agent can work inside an application while the user retains control of the actual mouse.
Browser Use extends its thin-harness thesis
macOS Harness follows the architecture Browser Use has been developing for browser agents. The package depends on Browser Harness, Browser Use's persistent control layer for Chrome, and uses Apple's Application Services through PyObjC for native desktop access.
Zunic has spent 2026 arguing that agent reliability improves when models receive direct tools and room to recover from errors. In a March engineering post, he wrote that Browser Use builds harnesses around behavior observed in real agent sessions rather than assumptions encoded in large frameworks. macOS Harness applies that principle at the operating-system level: a persistent Python process, a limited collection of primitives and direct access to the underlying environment.
The release also differs from macOS-use, an earlier desktop-agent repository hosted by Browser Use and created by Ofir Ozeri in collaboration with Zunic and Muller. macOS-use packages an agent workflow around Mac interaction and model providers. macOS Harness is a lower-level control surface intended to sit underneath coding agents that can generate their own Python as they work.
The package is at version 0.1.2 and marked alpha in its project configuration. It requires Python 3.11 or newer, while Browser Use's installation instructions recommend Python 3.12 and the uv package manager. Browser Use provides setup directions for Codex and Claude Code, including a generated skill file that teaches the coding agent how to invoke the harness.
Desktop access raises the permission stakes
Installing macOS Harness may require Accessibility, Screen Recording and Automation permissions. Browser Use says Input Monitoring is unnecessary and tells users to grant only the permissions reported by the package's diagnostic command.
Those permissions give an agent access to visible interface content and the ability to act inside applications. Browser Use's security guidance tells users to treat agent instructions and third-party interface content as untrusted, review irreversible actions and restrict permissions to those required for each task.
Anonymous telemetry is enabled by default. Browser Use says it records command category, success, duration, package version, operating system, architecture and the detected agent client. The documentation says prompts, screenshots, app names, interface text, scripts, file paths and window titles are excluded, and users can disable telemetry from the command line.
macOS Harness is MIT-licensed and Mac-only. Its early release leaves reliability and safe task execution as the central tests. Browser Use has supplied agents with a route from a coding session into native applications, personal files and authenticated browser sessions. The usefulness of that access will depend on whether a six-command control layer can remain predictable once agents encounter the irregular interfaces and permission boundaries of a real desktop.