Give your agentsreal Macs.
Connect any Mac you own and it becomes a programmable cloud runtime — driven by agents, SDKs, and CLIs from anywhere.
Everything a Linux sandbox can’t do
A fleet of real Macs, driven by agents from anywhere — the things a Linux box in the cloud simply can’t be.
Run a fleet of real Macs
The Studio on your desk, the minis in the closet, the laptop in your bag — one private fleet, online and addressable from anywhere.
Control them all with agents
Dispatch one prompt across the whole fleet — agents drive every machine remotely, in parallel.
A real browser, like a human
Not a patchy cloud-browser API — the actual browser on a real Mac. Log in, scroll, click, type, exactly like a person.
The whole of real macOS
Xcode, simulators, codesigning, AppleScript, Homebrew — the real platform, not a stub or an emulator.
Ship iOS, autonomously
Clone → build → test → notarize → TestFlight, in a single run.
Expose any port as a public URL
Run a server in a sandbox and get a named subdomain with real TLS — zero inbound ports opened.
It runs the apps a real Mac runs
If it installs on a Mac, it runs on Herds.
Native to your Apple world
It doesn’t call half-built APIs — it uses the real apps, signed in on a real Mac, and operates any machine you point it at.
iMessage
Reads, replies, and reschedules — in your voice, around the clock.
iCloud Photos
Sorts, dedupes, and albums a decade of photos in iCloud.
Apple Notes
Captures, files, and recalls everything you need.
FaceTime
Places and joins calls — schedules, dials, follows up.
Remote operation
Drives any Mac you point it at — set up, fix, and triage.
Pair operator
You watch, it works — approve the risky steps, skip the rest.
What people build on Herds
A food-delivery app, shipped overnight
An agent cloned the repo, ran Xcode, fixed the failing tests, QA'd the build, and pushed to TestFlight by morning — on a Mac mini in the closet.
iMessage, handled for you
Triage threads, RSVP, reschedule, and reply in your voice — native Messages on a real Mac, around the clock. No bridge, no API.
It lives in your Apple world
Messages, Mail, Photos, Notes, Music — signed in on a real Mac. Your agent uses the actual Apple apps, not half-built APIs.
Fix anyone's Mac, remotely
Point an agent at a relative's or teammate's Mac — diagnose the slowdown, clear the disk, reset the network, install the update. Hands-on support, hands-free.
It applies, books, and files — like a person
The real browser on a real Mac: log into the portal, fill the form, hit submit. No brittle scraping API, no headless workarounds.
A hundred Macs, one prompt
Point an agent at the whole fleet — build, render, scrape, test — running for hours across every machine you own.
From nothing to a hundred Macs
Install once, sign in, and host. Every Mac you own joins with a single line — then drive the whole fleet from Python or watch it live in the browser.
$curl -fsSL herds.run/install | shinstalled herds 0.1$herds auth→ approve in your browser…signed in as you@team.com
# on your main Mac — go live$herds hostM3 Max · live at you.herds.run# on any other Mac that has herds$herds connect you.herds.run hx_…Mac mini joined the fleet
import herdsmac = herds.mac(tag="xcode") # idlest matchmac.run("xcodebuild -scheme App")url = mac.expose(3000) # → public URL
Then open it in the browser
Hosting prints a signed-in dashboard link. Sign in with the same account from anywhere — every Mac, every sandbox, and every run, live on the web. No inbound ports opened.
Carve one Mac into a hundred sandboxes
A single Mac mini is two things at once: a machine you drive directly, and a host you partition into dozens of isolated, localized environments — each its own sandbox, all running in parallel.
Each gets its own HOME, filesystem, and TMPDIR — nothing leaks between them.
Pin a toolchain, env, and volumes per sandbox — a hundred clean worlds on one box.
Spin up, run, and tear down by process group — no residue left behind.
with herds.mac("mac-mini").sandbox(image="xcode:26") as sbx:sbx.exec("xcodebuild -scheme App archive")url = sbx.expose(3000) # its own public URL# torn down clean on exit — fan this across the whole grid with .map()
Connect your Mac in 60 seconds.
Every Mac you own becomes an API. Your machine, your infra — live with a single command.