offstage

offstage

offstage cloud · Coding · Productivity

offstage gives AI coding agents and CI jobs a real Mac: a fresh macOS account on Apple silicon, driven over an API and billed by the second.

Interface preview of offstage

About offstage

What Is offstage

offstage is a macOS sandbox for AI agents and CI jobs. Each sandbox is a whole user account on a Mac Studio, and you reach it through a Mac cloud API or a small TypeScript SDK. You run shell commands, move files in and out, take screenshots, then close the account when the work is done.

Two jobs pushed the product into existence. Building and testing Apple software is painful on a Linux host, and letting an agent click around a desktop is risky on your own laptop. Both get their own account instead of root on a shared machine, and the account is wiped once it closes.

The limits are part of the pitch. There's no sudo and no Homebrew, iOS simulator testing through xcodebuild has a gap, and a sandbox never lives past 24 hours.

Getting Started

  1. Sign in to the console at console.offstage.cloud and create a key under API keys. It starts with sk_offstage_ and is shown once.
  2. Install the SDK with npm install offstage-cloud, or call the HTTP API directly from any language.
  3. Create a sandbox with Sandbox.create(), passing a timeout that matches the job at hand.
  4. Run commands with sandbox.commands.run(), then write or read files with sandbox.files.write() and sandbox.files.read().
  5. Kill the sandbox in a finally block so the meter stops.

Product Information

A quick look at offstage's pricing, supported platforms, and performance.

Free PlanYes
Paid Plans$0.000217/sec, about $0.78/hr
PlatformWeb, API, TypeScript SDK, GitHub Actions
Developeroffstage cloud
CategoryCoding · Productivity
Release DateN/A
Latest UpdatedNov 2026
Website VisitsN/A
Website Global RankN/A
API AvailabilityYes

Best for

The users, tasks, and scenarios where this tool fits best.

Users

  • iOS and macOS developers
  • Teams building computer-use agents
  • Developers on Windows or Linux

Tasks

  • Running swift build and swift test on every pull request
  • Reproducing a bug that only shows up on macOS 27
  • Capturing app screenshots for documentation
  • Booting an iOS simulator to check layout

Scenarios

  • A coding agent hits a step that needs a Mac
  • Release week with a crowded CI queue
  • Prototyping a desktop automation script

Key features

One macOS account per sandbox

Each Apple silicon sandbox runs macOS 27 as a full user account with its own home directory and processes. You drive it one call at a time: run a command in zsh, write a file up to 10 MiB, read it back as text or raw bytes. Other work on the same Mac Studio can't see your files.

A command runner that acts like a terminal

sandbox.commands.run() executes inside zsh -lc and returns stdout, stderr, the exit code and how long it took. A non-zero exit doesn't throw, so a failing test is a normal result you can branch on. Long commands are followed for up to 30 minutes.

Headless and GUI sessions

A headless sandbox boots straight into a shell, which suits builds and scripts. A gui sandbox runs inside a logged-in desktop session for apps with windows and screen captures. There's no click or typing API, so you drive the interface with a program that runs on the Mac.

A GitHub Actions macOS runner

Connect your GitHub organization in the console, then set runs-on: offstage-macos in the workflow file. Every job gets a fresh account, GitHub's runner executes that one job, and the account is wiped at the end. Switch to offstage-macos-gui when the job needs the desktop for simulator UI tests.

Tasks for fire-and-forget CI

A task clones a public repo's default branch, runs your command and keeps the artifacts you name. The failureReason field separates a broken build from a broken clone, a timeout or a machine that never showed up. Time spent waiting in the queue is free.

Billing by the second with a budget cap

Every sandbox and task costs $0.000217 a second, which is $0.78 an hour, with no minimum and no seats. New teams start with $5 of credit and a $50 monthly budget that the owner can raise or lift in the console, with alerts at 50%, 80% and 100%.

Pros and cons

Pros

  • Isolation: an agent gets its own macOS account, so a careless command can't reach your laptop or another team's files.
  • The Apple toolchain comes preinstalled: Xcode 27.2, Swift, SwiftPM, clang, git and make are on every machine.
  • Queue time costs nothing and billing runs per second, so a two-minute test costs about three cents.
  • Coding agents can set themselves up from a single file at api.offstage.cloud/SKILL.md, with no human copying keys around.
  • Tasks explain their failures, which tells you whether the build, the clone or capacity was the problem.

Cons

  • No sudo and no Homebrew means tools that expect system packages have to be built into the project or installed in the home directory.
  • xcodebuild test against an iOS Simulator destination doesn't work yet, so simulator UI suites still need a different runner.
  • A team can hold 4 open sandboxes at once and a CI job stops at 60 minutes, which rules out long build matrices.
  • There's no click or typing API, so a computer-use agent has to bring its own automation program to drive the desktop.

Frequently asked questions

It runs macOS work on demand: Apple builds, tests, simulator runs and agent loops that need a desktop. You send commands over an API rather than renting a Mac or keeping one on a desk.