One console on your Mac or Windows PC, with companion apps for iOS and Android. Pick your platform below — everything runs on your own devices, no account required.
The native Mac console. It picks up the projects you already have, works out each one’s toolchain, and puts every build, run, test, and release in a single window.
The native Windows console — a real desktop app for Windows 10 and 11, not a wrapped web page. Same projects, same lanes, same single window to build, run, test, and ship.
Why the desktop apps download directly. AppRelay for macOS and Windows is distributed from apprelay.io rather than an app store, so it can drive your local toolchains without sandbox limits. The Mac build is signed and notarized by Apple (Gatekeeper opens it normally); the Windows build is Authenticode-signed. Both keep themselves up to date automatically — Sparkle on Mac, WinSparkle on Windows.
Free apps for iPhone, iPad & Android that pair with your Mac or Windows console — keep an eye on your builds, tickets, and releases, and with an AppRelay Studio unlock, drive them from anywhere.
Scan this code to open this download page on a phone or tablet — it's the same code AppRelay for Mac shows so you can jump straight to the mobile apps.
apprelay.io/downloadWe’ll email you when there’s a new AppRelay build — including when the iOS and Android apps go live. No spam, just releases.
The biggest AppRelay update yet: projects now open into a full workspace with a real code editor and per-file publishing, there's a password lock over the whole app, a rebuilt Source Control, and the largest Build & Run reliability pass we've shipped.
<style>/<script> blocks inside markup. The gutter
marks each line against the deployed copy, not just HEAD, because "what differs
from what's live" is the question a publishing console actually answers.lftp mirror for server lanes. It
fingerprints your files with SHA-256 and sends only what changed, with a real diff of the
deployed copy against your working copy for any file you select. ⌘S in the
Code tab stages a file. Files changed on the server since your last publish are quarantined
rather than silently overwritten, deletions are grouped on their own, and approval-gated
channels say so. Credentials are handled exactly as the deploy engine does — passwords
never touch the command line, private keys are written owner-only and removed after..relay archive. Wrong guesses escalate a
cooldown that survives quitting.⌃⌘L or
a tray quick action. If you forget the password, a one-time recovery code (shown once at
setup) or your Studio key + purchase email gets you back in.⌘P), branch picker, upstream with ahead/behind, and Fetch/Pull/Push with
counts — over a tab strip of Changes, History, Branches, and Pull Requests, each getting
the whole window.Dozens of fixes so a project that builds in your IDE or terminal builds in AppRelay too, and so a failure explains itself instead of surfacing a raw tool error:
.slnx solution format and .vbproj; modern Bun projects
(text bun.lock) and plain JVM/Kotlin Gradle libraries are recognized; and a
Mac app that ships an iOS companion (like AppRelay itself) detects correctly..next, .output,
SvelteKit/Remix/CRA build) rather than a wrong default. Switching a lane's
toolchain now re-scopes its run recipe too.ANDROID_HOME is respected,
adb and emulator are declared as requirements, and an AVD is
booted and waited for before a run instead of failing with a raw error.docker build -t app: or -scheme '' is traceable.
Docker recipes fall back to a :latest tag when no version is set... segments and symlink escapes.container setting — which also arrives from a .relay archive, the
remote API, and the CLI/MCP — is now re-emitted from parsed tokens and rejected if it
carries shell metacharacters, closing an RCE vector in downloaded or shared project
bundles.••••-XXXX everywhere the app shows
them, with an eye toggle to reveal (never persisted, so it can't leak into a screenshot or
screen share) and a copy button that always copies the real key.Contents/Resources/apprelay-mcp.mjs, sealed by the app's own signature. There
is no second download and no path to get wrong — point Claude Code or Claude Desktop at
that file and it drives the AppRelay it lives inside. (Requires Node 18+.)apprelay CLI now covers the full surface the bridge wraps
— run logs, version/bump, channels, deployments, rollback, environments, secrets, targets,
recipes, license, groups, and doctor — so an agent can read and drive everything the
desktop can.