From the Macswarm team. Originally published at macswarm.com. Macswarm is currently accepting early-access requests.
Why an agent needs a Simulator it can see
An iOS change is not finished when it compiles. Someone has to launch the app, tap to the screen that changed, read the log and look at the result. When the agent makes the change, the agent has to be the one looking. On a developer's own Mac this is routine: Xcode provides the Simulator, and Claude Code Desktop opens an iOS Simulator pane next to the conversation when Claude builds, installs, launches or checks the app.
That pane does not travel. Claude Code's documentation says the Simulator pane is "available in local sessions only": in cloud and SSH sessions, Claude runs on a machine that cannot reach the Simulators on your Mac. Any agent in a hosted Linux sandbox is in the same position: it can edit and build a project, but there is no macOS, no Xcode and no Simulator in the box. Codex's sandboxes from other providers are Linux too.
A Pod closes that gap without moving the agent. Sessions still start from claude.ai, Claude Desktop, Slack or the Codex app; they land on a hosted Mac with Simulators already booted.
What a Pod gives the agent
A Pod is one hosted Mac for one developer. It boots from a golden image in seconds, hosts a few agents at once, and is destroyed when the work is done. The parts that matter for Simulator work:
| Component | In every Pod |
|---|---|
| Xcode | The Latest Xcode and the previous major version, with command line tools |
| iOS runtimes | Current iOS plus the previous major, so apps can be checked on both |
| Simulators | Three to four devices pre-booted per Pod, leased to agents in turn |
| Tooling | XcodeBuildMCP for building, launching and driving the Simulator |
| Build queue | Two concurrent xcodebuild runs, fair sharing between agents |
| What comes back | Logs and screenshots in the dashboard and attached to the PR |
Simulators are leased, not assigned. An agent leases a Simulator when it launches the app or starts UI tests, and returns it when done. Leases are short, so three to four devices serve more than three to four agents in practice; a lease idle for five minutes is released. Builds enter a queue with two slots, and the agent that has waited longest goes next.
There is no SSH and no screen sharing into a Pod. You watch agents through Claude, Codex, or the logs and screenshots in the dashboard, which are retained for 30 days and stay in the region you chose for the environment, EU (Netherlands) or US.
How Claude Code drives it
Claude Code reaches a Pod through a self-hosted environment, a Claude Team and Enterprise feature in public beta. You create the environment in your Claude organization settings, paste its key into Macswarm, pick a region and save. From then on, a Claude Code session started from claude.ai, Claude Desktop or Slack can pick the Macswarm environment, and a clean Pod boots from the warm pool in a few seconds.
A task that needs the Simulator is phrased like any other:
Fix the crash on the notification prompt, run the UI tests on an iPhone Simulator and open a PR.
The agent builds with xcodebuild, leases a Simulator from the pool, taps through the app with XcodeBuildMCP, reads logs and attaches screenshots to the PR. Commits are attributed to you, the developer who started the session.
Claude Pro and Max accounts cannot create a self-hosted environment, but they can sign in to Claude Code inside a Pod with their own account; see the Claude Code quickstart.
How Codex drives it
Codex gets a Mac through the OpenAI Agents API. In the Macswarm dashboard you connect Codex, pick a region and copy a webhook URL, then paste it into your Agents API environment settings as the sandbox webhook. From then on Codex can request a Macswarm Pod for a session. Linux sandboxes from other providers keep working; Codex picks Macswarm when a task needs Xcode or a Simulator.
Build Tidewater for an iPhone Simulator, tap through onboarding and attach a screenshot of every screen.
Codex builds with xcodebuild, leases a Simulator, drives the app through XcodeBuildMCP and attaches the screenshots. Claude Code and Codex sessions can share the same Pod; see the Codex quickstart.
Alternatives, and where each is better
The options we checked, with the vendor's own numbers and the date we read them.
| Option | What it is | Price | Better when |
|---|---|---|---|
| Argent Cloud (Software Mansion) | Hosted iOS Simulators on dedicated Apple hardware for agents that run elsewhere; works with Argent, Maestro and Appium | $299 a month per Runner, up to 6 Simulators in parallel, unlimited time, self-serve up to 5 Runners (checked 25 October 2026) | Your agent stays on Linux and you want Simulators busy all month at a flat price |
| Expo Simulators (EAS) | Remote iOS Simulator and Android Emulator on EAS infrastructure, driven from a CLI, a REST API or an agent skill | Limited-access preview for select partners, not on free or paid plans; waitlist (checked 25 October 2026) | You build with Expo or React Native, need Android too, and can get into the preview |
| Appetize, BrowserStack | Simulators streamed to a browser for QA, demos and manual testing | Not checked for this page | People, not agents, need to try a build in a browser |
| A local Mac | Xcode's Simulator on your own machine, with Claude Code Desktop's iOS Simulator pane for local sessions | The Mac you already own | One developer, one Mac, local sessions |
| Macswarm Pod | A hosted Mac per session with three to four pre-booted Simulators, XcodeBuildMCP and two build slots | Free 3 Pod-hours once; Pro $99 a month for 300 Pod-hours, $0.40 per extra hour; Team $399 for 1,500 | Cloud sessions, teams without Macs, several agents in parallel, EU hosting |
A Pod is a Mac with iOS Simulators: no Android Emulator, and no browser stream for manual QA.
Questions
Can a cloud Claude Code session use the iOS Simulator pane?
No. The pane in Claude Code Desktop is available in local sessions only; in cloud and SSH sessions Claude runs on a machine that cannot reach the Simulators on your Mac. In a Pod the Simulators live on the hosted Mac the session runs on, and the agent drives them with XcodeBuildMCP. There is no screen sharing into a Pod; what you see is what the agent reports, logs and screenshots in the dashboard and on the PR. The FAQ says the same: one does not replace the other.
Is there an iOS Simulator MCP server in a Pod?
Yes. Every Pod ships with XcodeBuildMCP, the MCP server the agent uses for building, launching and driving the Simulator. It is part of the image, so there is nothing for you to install. XcodeBuildMCP is third-party tooling that the Pod includes, a published interface rather than a Macswarm product. If your project needs another tool in the base image, tell us; Inside a Pod lists what is installed.
How many Simulators does one agent get?
As many as it leases from a pool of three to four pre-booted devices per Pod, running current iOS and the previous major. A lease lasts for a launch or a test run; a lease idle for five minutes is released. Two to three active agents per standard Pod are guaranteed. More agents queue for Simulators and build slots rather than being refused. Pro allows four Pods at a time and Team ten. Limits and queues has the numbers.
Does Codex work the same way as Claude Code?
Yes, with a different connection. Claude Code uses a self-hosted environment key; Codex uses an Agents API webhook registered as the sandbox webhook in your Agents API environment settings. Codex then picks Macswarm when a task needs Xcode or a Simulator. Inside the Pod both agents use the same Simulator pool, build queue and XcodeBuildMCP, and sessions from both can share one Pod. Model usage is billed by OpenAI or Anthropic to your own account; Macswarm bills the Pod-hours.
What does Simulator time cost?
Nothing beyond the Pod. Macswarm bills Pod-hours, one Pod running for one hour regardless of how many agents are active, metered per second. Every plan's Pod includes the pre-booted Simulators, so there is no separate Simulator price and no per-agent fee. Free gives 3 Pod-hours once, no card. Pro is $99 a month for 300 Pod-hours and $0.40 per extra hour; Team is $399 for 1,500 and $0.30 per extra hour. The pricing page has the plans; the glossary defines a Pod-hour.
Early access
Macswarm is currently accepting early-access requests. Free includes 3 Pod-hours once; Pro starts at $99/month for 300 Pod-hours. Details: macswarm.com.
Sources
- Claude Code Desktop's iOS Simulator pane, local sessions only: code.claude.com, Test iOS apps in the simulator, checked 25 October 2026.
- Argent Cloud price, Simulator count and self-serve limit: argent.swmansion.com, Pricing, checked 25 October 2026. Vendor's own page.
- Expo Simulators availability: docs.expo.dev, Introduction to Expo Simulators, checked 25 October 2026. Vendor's own docs.
Top comments (0)