What is Limrun
Any process that can reach an HTTPS endpoint can build a mobile app on Limrun, run it, and drive it: a coding agent on a Linux VM, a CI runner without macOS minutes, or a backend that hands live devices to its own users.
What you can run
Everything you create on Limrun is an instance. There are four kinds:
| Instance | What it is | What you do with it |
|---|---|---|
| iOS simulator | The iOS Simulator on a cloud Mac, as an iPhone, iPad, Apple Watch, or iPhone Duo. | Stream it in a browser. Tap, type, read the accessibility tree, record video, install and launch apps, stream logs. |
| Android emulator | An Android emulator with an ADB tunnel. | Drive it with the lim CLI or the SDKs, or attach Android Studio, Appium, and scrcpy over ADB as if it were a USB device. |
| Xcode sandbox | A cloud Mac with Xcode. | Sync your source and run xcodebuild, or serve Bazel remote build execution. Sign IPAs and upload them to App Store Connect. |
| Gradle sandbox | A cloud build environment for Android. | Sync your source and run your project's Gradle wrapper. Sign AABs for Google Play. |
Build and run instances compose. Attach a simulator to an Xcode sandbox and every successful build installs and launches on it. Build artifacts go to Asset Storage, from where any new simulator or emulator can install them at boot, and reviewers can open them from a preview link in the browser.
What teams use it for
- Coding agents shipping mobile code. An agent on a Linux VM picks up a ticket, builds the app on a cloud Mac, drives the simulator to verify the change, and posts a preview link on the pull request.
- Mobile CI on Linux runners. Run
xcodebuild, Gradle, XCTest, Maestro, and Appium from an Ubuntu runner, and post build artifacts and preview links on every pull request. No macOS minutes. - Live devices inside a product. A backend creates instances on behalf of its users, and the frontend streams them with
<RemoteControl />.
Choose your path
Try it in three minutes
Build a sample iOS app on a cloud Mac and watch it run in your browser.
Give a coding agent a Mac
Install the lim CLI and the Limrun skills where your agent runs.
Build and test in CI
Run xcodebuild, Gradle, and test suites from a Linux runner.
Embed devices in your product
Stream a live simulator or emulator into your web app with <RemoteControl />.
Ways to drive Limrun
Every interface calls the same REST API, so you can mix them. A backend can create an instance with the SDK while an agent drives it through the CLI.
- The
limCLI is for coding agents, CI jobs, and people at a terminal. It covers every operation. See Set up a coding agent and the CLI reference. - The SDKs for TypeScript (
@limrun/api), Python, and Go are for backends that provision instances on behalf of users. The TypeScript SDK covers the full surface and the CLI is built on it. See SDKs and REST API. <RemoteControl />from@limrun/uistreams a live device into a React app. See Embed a device.- MCP servers let MCP clients create and drive devices through tool calls: one remote server for your organization, and a per-instance server on every simulator and emulator.
- The console at console.limrun.com manages API keys and instances and has a Playground that streams a device from a dropdown.
To see how instances, tokens, and timeouts fit together, read Concepts.
Was this guide helpful?