Open Source
Open Source

Give an LLM an Entire Mac: browser-use Ships a "Zero Rails" Harness, 480 Stars in Two Days

browser-use/macos-harness (480 stars / 33 forks, MIT, Python; GitHub API snapshot 2026-08-19, created Aug 17 - two days old): the browser-use org's thinnest possible harness that "gives an LLM complete freedom" over a Mac - no framework, no recipes, no rails. Six primitives (see / key / type / click / ax / script) cover the whole machine: CGWindow screenshots of background windows without raising them, CGEvent keystrokes straight to a target PID, raw AX and Apple Events as fallback, plus CDP driving a real logged-in Chrome - with browser, Path, and subprocess ready in the same persistent Python process. The philosophy: no Spotify tools, no Slack tools - the model writes whatever logic is missing in ordinary Python, mid-task. Installation is a single prompt you paste into Codex or Claude Code (uv + Python 3.12 + skill registration + doctor permission self-check). doctor reports the exact macOS permissions needed; anonymous telemetry records command categories only and can be disabled with one command. Ecological niche versus browser-use (clean browser) and ego-lite (shared logged-in browser). Read against this week's OpenAI rogue-agent news: no-rails and guardrails are two sides of one coin. Experimental, macOS only.

Published August 19, 20268 min read
<!-- macos-harness-resource | open-source | Give an LLM an Entire Mac: browser-use Ships a "Zero Rails" Harness, 480 Stars in Two Days -->

On August 17, 2026, the browser-use organization quietly launched a new repository: macos-harness. Two days, 480 stars. Its tagline states its entire ambition in one line: "the simplest, thinnest harness that gives an LLM complete freedom to complete virtually any task on a Mac." No framework, no recipes, no rails - the README's own words.

The timing is almost poetic: the day after macos-harness went live, OpenAI announced it would pause model testing for two weeks and slow its development pace following the rogue-agent attack on Hugging Face (see our OpenAI slowdown hotspot piece). One side of the industry is tightening the reins on agents; the other is handing them keys. The tug-of-war between freedom and guardrails is becoming the defining engineering tension of the agent era, and macos-harness plants its flag at the extreme "freedom" end.

Scope note: this article is based on the browser-use/macos-harness README and the GitHub API (measured 2026-08-19: 480 stars / 33 forks, MIT, Python, created 2026-08-17). Star counts are a same-day snapshot and will change; the project self-describes as Experimental and macOS-only. Not investment advice.

1. Project File: A "Anti-Framework" at 480 Stars in Two Days

ItemDetail
Repositorybrowser-use/macos-harness
PositioningThe simplest, thinnest harness giving an LLM complete freedom over a Mac
Stars / forks480 / 33 (GitHub API, 2026-08-19; created just two days prior)
License / languageMIT / Python
Created2026-08-17
Publisherthe browser-use organization (the team behind the well-known open-source browser automation framework browser-use)
StatusExperimental, macOS only
Installuv + Python 3.12, via a single prompt handed to Codex / Claude Code

The publisher deserves a sentence of its own. browser-use is among the best-known open-source browser automation frameworks today (we covered it in our browser-use teardown), and its pitch is "give an LLM a browser." macos-harness is the same team's next move: from "give an LLM a browser" to "give an LLM a computer." The README closes with one blunt sentence: "Your agent now has a Mac."

2. Design Philosophy: Six Primitives, One Whole Mac

The most counterintuitive thing about macos-harness is that it refuses to build any app-specific tools for the model. There are no Spotify tools, no Slack tools, no Final Cut tools. The model gets six raw primitives:

bash
macos-harness <<'PY'
frame = mac.see("Spotify")
mac.key("cmd+k", app="Spotify")
mac.type("Alessia Cara", app="Spotify")
mac.click(640, 420, app="Spotify")

item = mac.ax.at(640, 420, app="Spotify")
mac.script('tell application "Spotify" to play')

print(browser.page_info())
print(list(Path.home().iterdir()))
PY
PrimitiveWhat it does
seeCapture the target app's window (including background windows)
keySend keystrokes directly to a specific app's process
typeType text
clickClick at coordinates
axRaw Apple Accessibility (read structure when vision is not enough)
scriptApple Events / AppleScript

Inside the same persistent Python process, browser (Browser Harness, driving your real logged-in Chrome over CDP), Path, and subprocess are all ready to use. In other words: the model's fingers (keyboard and mouse), eyes (screenshots + AX), voice (AppleScript), and legs (shell) all hang off the same torso.

The README's flow diagram says it all: the agent wants to do something no helper exists for -> it sees the app and uses raw macOS primitives -> it writes the missing logic mid-task in ordinary Python -> task complete, with no app-specific tool ever added.

Why is this design smart? The agent tooling ecosystem of the past two years took the "tool explosion" route: wrap every app integration as another MCP tool, and you end up with tool lists hundreds of entries long that models fail to select from and nobody can maintain. macos-harness inverts the problem - rather than building tools for the model, give it a computer it can write its own tools on. Whatever logic is missing, it writes on the spot, uses once, and discards. This demotes "tool calling" to "code generation," and the latter happens to be exactly what current models are best at.

3. Technical Architecture: Why It "Behaves Like a Human"

Under the hood, it is a four-piece combination of native macOS mechanisms:

MechanismUseHighlight
CGWindowScreenshotsCaptures background app windows without bringing them forward
CGEventKeyboard/mouse inputSends events directly to the target app's PID
AX + Apple EventsStructured reading / automationFallback when vision is not enough
CDP (Browser Harness)BrowserDrives the real, logged-in Chrome

Two details deserve underlining. First, "capture background windows without foregrounding" plus "send input straight to the PID" means the agent can work across several apps in parallel without hijacking your foreground - the harness even draws an animated, click-through virtual pointer while your real cursor never moves. This is the key experience design for "an agent and a human sharing one machine." Second, the browser it drives is your real, logged-in Chrome rather than a clean automation browser - a direct nod to ego-lite's core selling point (see our ego-lite teardown).

The three siblings each occupy a distinct niche: browser-use gives the agent a clean browser (no login state), ego-lite lets the agent share your real browser session, and macos-harness hands over the entire Mac - browser, filesystem, and terminal included. From left to right, the capability radius grows, and so does the attack surface.

4. Installation as Autonomy: Let the Agent Install Itself

The most "performance art" part of the README is the installation. It doesn't give you a setup tutorial; it gives you a prompt to paste into Codex or Claude Code:

text
Install or upgrade macOS Harness from
https://github.com/browser-use/macos-harness with uv using Python 3.12.
Register the skill printed by `macos-harness skill`, then run
`macos-harness doctor`. Explain any missing macOS permissions and ask
before requesting them. Finally, verify the harness by capturing one
already-running app without bringing it to the foreground.

Read the subtext: the agent installs the package itself, registers the skill itself, runs doctor to check permissions itself, explains what's missing before requesting it, and the acceptance test is "capture a running app without foregrounding it" - which turns the design principles from section 3 into a self-check during onboarding. The whole setup is a rehearsal for human-agent permission negotiation.

5. Privacy and Risk: Read the Manifest Before Handing Over the Keys

macos-harness doctor reports the macOS permissions actually required - that is the informed-consent form for the user. On telemetry: anonymous telemetry is on by default, recording only the CLI command category, success or failure, duration, package version, OS / architecture, and the detected agent client; the README explicitly promises it never records prompts, app names, screenshots, UI text, scripts, paths, or window titles, and a single macos-harness telemetry disable turns it off.

But the risks must be said plainly. The essence of this tool is handing a real computer's keyboard, mouse, screen, filesystem, and shell to a model, all at once, with deliberately no rails. It never activates apps and never touches your cursor - that is restraint at the experience layer, not a defense at the security layer. If your agent runs off the rails on that Mac, no sandbox will stop it - which is precisely the other side of this batch's theme: before actually handing over the keys, read our Agent Sandbox Isolation Comparison, then apply least-privilege setup per our Agent Guardrails Deployment SOP. Freedom is a capability; guardrails are the license. Earn the license before claiming the freedom.

Conclusions for three audiences: Mac users curious about "an agent using my computer" - worth a try, but run doctor first and read the permission list; anyone running production automation - wait for the Experimental label to come off, and absolutely wrap it in a sandbox; agent-interaction researchers - the six-primitives-plus-self-written-tools idea is worth more than the tool itself.

FAQ

Q1: What is the relationship between macos-harness and browser-use - will it replace browser-use? A1: Same team, different jobs. browser-use is a browser automation framework that spins up a clean browser to drive; macos-harness is an OS-level harness that hands over the whole Mac (real Chrome, files, shell). The former solves "web tasks," the latter "any task" - see the three-sibling comparison in section 3.

Q2: Is "zero rails" dangerous? Can individuals install it? A2: Yes, but think it through first. Its restraint is experience-layer only (no foregrounding, no moving the real cursor); at the security layer there is no sandbox and no approval gate. For personal experimentation, use a machine or account without sensitive data; when real login states or production data are involved, apply least-privilege setup per our Agent Guardrails Deployment SOP.

Q3: Why are "six primitives" smarter than hundreds of specialized tools? A3: Because it turns "tool calling" into "code generation." On the tool-explosion route, every app needs a wrapped MCP tool and the model must pick correctly from hundreds; on the six-primitive route, the model writes whatever logic is missing in ordinary Python, on the spot. Writing code is precisely what current models are best at, so the design puts the lever on its longest arm.

Q4: Telemetry is on by default - does it upload my screen contents? A4: Per the README's promise, no. Telemetry records only the CLI command category, success or failure, duration, version, OS / architecture, and the detected agent client, explicitly excluding prompts, app names, screenshots, UI text, scripts, paths, and window titles. If you mind, macos-harness telemetry disable turns it off with one command.

Q5: Is it macOS-only? Any alternatives for Windows / Linux users? A5: Currently macOS only, self-described as Experimental, and the README makes no current commitment to Windows / Linux. Alternatives exist at the browser layer - the browser-use / ego-lite approaches we have covered - but at the OS level there is no comparable open-source general harness yet. That vacant niche is itself a signal.


Sources

This article is based on the README and public GitHub API data (2026-08-19); star counts are a same-day snapshot. The project is experimental software - assess the risks yourself before using it.

This article is AI-assisted and human-edited. Last updated: 2026-08-19

FAQ

What is the relationship between macos-harness and browser-use - will it replace browser-use?
Same team, different jobs. browser-use is a browser automation framework that spins up a clean browser to drive; macos-harness is an OS-level harness that hands over the whole Mac (real Chrome, files, shell). The former solves "web tasks," the latter "any task" - see the three-sibling comparison in section 3.
Is "zero rails" dangerous? Can individuals install it?
Yes, but think it through first. Its restraint is experience-layer only (no foregrounding, no moving the real cursor); at the security layer there is no sandbox and no approval gate. For personal experimentation, use a machine or account without sensitive data; when real login states or production data are involved, apply least-privilege setup per our [Agent Guardrails Deployment SOP](/en/ai-agent-guardrails-deployment-sop).
Why are "six primitives" smarter than hundreds of specialized tools?
Because it turns "tool calling" into "code generation." On the tool-explosion route, every app needs a wrapped MCP tool and the model must pick correctly from hundreds; on the six-primitive route, the model writes whatever logic is missing in ordinary Python, on the spot. Writing code is precisely what current models are best at, so the design puts the lever on its longest arm.
Telemetry is on by default - does it upload my screen contents?
Per the README's promise, no. Telemetry records only the CLI command category, success or failure, duration, version, OS / architecture, and the detected agent client, explicitly excluding prompts, app names, screenshots, UI text, scripts, paths, and window titles. If you mind, `macos-harness telemetry disable` turns it off with one command.
Is it macOS-only? Any alternatives for Windows / Linux users?
Currently macOS only, self-described as Experimental, and the README makes no current commitment to Windows / Linux. Alternatives exist at the browser layer - the browser-use / ego-lite approaches we have covered - but at the OS level there is no comparable open-source general harness yet. That vacant niche is itself a signal.

Related

Open Source

Hand Your Phone to an Agent: phone-harness Hits 2,000 Stars in Two Weeks, and Your iPhone Can Be Fully AI-Driven Without a Jailbreak

ShawnPana/phone-harness (1,977 stars / 183 forks, MIT, Python; GitHub API snapshot 2026-08-22, created Aug 7 - two weeks old): let your agent control your phone. No iPhone jailbreak - macOS Sequoia+'s iPhone Mirroring window is the whole transport: screencapture plus Vision OCR for "the poor man's DOM," CGEvents for HID-level taps and keystrokes. Android goes over adb (USB/Wi-Fi) with screencap, the exact uiautomator accessibility tree, and input commands. Installation is a single prompt pasted into Claude Code or Codex, with a --doctor self-check. Philosophy: no prebuilt tools - whatever's missing, the model writes mid-task in ordinary Python (agent_helpers.py). Includes the learned-the-hard-way pitfall list (AppleScript clicks silently fail, unicode input impossible, slow drags don't move iOS lists) and three safety gates (spare phone / payment approval / API first).

Aug 22, 20268 min read
Open Source

ego-lite: A Browser Built for AI Agents (9.3k stars)

citrolabs/ego-lite is an open-source Chromium-based browser built for human + agent sharing (MIT, JavaScript, 9,335 GitHub stars, #9 on Trending weekly). Core selling point: agents reuse your real login state and tabs via the ego-browser skill and run tasks in parallel in their own Spaces, differentiating it from automation frameworks like browser-use that spin up a clean separate browser. macOS only today; Windows/Linux on roadmap.

Aug 9, 20268 min read
Open Source

LLaDA-Image: Ant Full-Open 6B Unified Image Generation Model

Ant Group's InclusionAI open-sourced LLaDA-Image, a 6B unified image generation and editing model (208 stars / Python / created 2026-08-31, snapshot 2026-09-09). One checkpoint does both text-to-image and instruction-guided editing; both backbone and DiT are diffusion models trained in a unified framework, with image-only pre-training establishing the visual prior; the Turbo variant uses Twin-DMD distillation to cut 50 steps down to 4. It scores 53.53 (English) and 53.38 (Chinese) on Qwen-Image-Bench, a double SOTA. HuggingFace and ModelScope host Base and Turbo weights, each with an FP8 variant, and community ComfyUI support landed on 2026-09-07. Biggest caveat: the repo's license field is null with no LICENSE file - confirm terms with InclusionAI before commercial use rather than assuming Apache-2.0 or MIT.

Sep 9, 202610 min read