Modal, for Macs

Give your agentsreal Macs.

Connect any Mac you own and it becomes a programmable cloud runtime — driven by agents, SDKs, and CLIs from anywhere.

herds — zsh
$ herds host
This Mac · M3 Max · live at you.herds.run
$ herds connect mac-mini.local
Mac mini joined the fleet
$ herds connect studio.local
Mac Studio joined the fleet
$ herds run --all "xcodebuild"
3 Macs online · agents dispatched
you.herds.runThis MacM3 Max · 16CMac miniM2 Pro · 12CMac StudioM2 Ultra · 24C
Start free
Capabilities

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.

M3 MaxMac miniMac StudioMacBook4 Macs · online
Fleet

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.

“run the suite on every Mac”
M3 Max
Mac mini
Studio
Agents

Control them all with agents

Dispatch one prompt across the whole fleet — agents drive every machine remotely, in parallel.

linkedin.com/in/…
Connect
Browser

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.

App — Xcode
XcodeSimulatorCodesignAppleScriptHomebrew
Build Succeeded · 42.1s
Native

The whole of real macOS

Xcode, simulators, codesigning, AppleScript, Homebrew — the real platform, not a stub or an emulator.

Clone
Build
Test
TestFlightv1.4 (32)
End to end

Ship iOS, autonomously

Clone → build → test → notarize → TestFlight, in a single run.

localhost:3000app.you.herds.runlive
Networking

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.

Real macOS

It runs the apps a real Mac runs

If it installs on a Mac, it runs on Herds.

Xcode
Final Cut Pro
Logic Pro
Blender
iOS Simulator
Safari & WebKit
Homebrew
Playwright
Xcode
Final Cut Pro
Logic Pro
Blender
iOS Simulator
Safari & WebKit
Homebrew
Playwright
Xcode
Final Cut Pro
Logic Pro
Blender
iOS Simulator
Apple-native

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.

Use cases

What people build on Herds

9:41
Deliver to
Home
Search restaurants
PizzaSushiThaiBowls
Free delivery
Thai Basil 4.9
Thai · 15 min · $$ · 1.2 mi
Pad Thai $14Add
Green Bowl Co.
Healthy · 18 min · $$
4.8
Nonna’s Pizza
Italian · 22 min · $
4.7
iOS · overnight

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.

Today 9:14 AM
Are we still on for dinner Friday?
Yes — booked 7:30 at Nopa and sent them the address
Delivered · handled by Herds
iMessage

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.

Signed in · the real apps
Apple apps

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.

HerdsFileWindowHelp
Fri 9:41
Mom’s MacBook · remote
Disk almost fullcleared 42 GB
Wi-Fi droppingreset · stable
12 updatesinstalled
Remote control

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.

AAcme Careers — Apply
+
jobs.acme.com/apply
Senior iOS Engineer
Application
Full name
Teddy O.
Email
teddy@acme.dev
Résumé
PDFresume.pdf
Submit application
Browser · human

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.

render all 240 frames in parallel4 Macs
M3 Max
Mac mini
Mac Studio
MacBook
Fleet · agents

A hundred Macs, one prompt

Point an agent at the whole fleet — build, render, scrape, test — running for hours across every machine you own.

Build & ship iOS appsNative Apple appsRemote Mac supportBrowser tasksRender farmsData extractionLong-running agentsMac-only software
Set it up

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.

01Install & sign in
your Mac — zsh
$curl -fsSL herds.run/install | sh
installed herds 0.1
$herds auth
→ approve in your browser…
signed in as you@team.com
02Host, then add any Mac
zsh
# on your main Mac — go live
$herds host
M3 Max · live at you.herds.run
# on any other Mac that has herds
$herds connect you.herds.run hx_…
Mac mini joined the fleet
03Drive it — Python or web
agent.py
import herds
mac = herds.mac(tag="xcode") # idlest match
mac.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.

Open the dashboard
One machine, many worlds

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.

One Mac mini · M2 Pro
24 sandboxes running
M2 Pro
12-core · 32 GB
sbx_1a2vite dev --host:3000 live
sbx_7f4xcodebuild -scheme App0:42
sbx_9c1playwright test --headedrunning
Isolated

Each gets its own HOME, filesystem, and TMPDIR — nothing leaks between them.

Localized

Pin a toolchain, env, and volumes per sandbox — a hundred clean worlds on one box.

Disposable

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()
Ready when you are

Connect your Mac in 60 seconds.

Every Mac you own becomes an API. Your machine, your infra — live with a single command.

$ herds host live at you.herds.run