Skip to main content
This is the reference for the latest @run-cloud/sdk release. The SDK controls iOS simulator sessions, Android emulator sessions, microVM sandboxes, snapshots, reusable app assets, usage, and run.cloud account state from Node.js 20 or newer.
For an end-to-end introduction, see the TypeScript SDK guide.

Client

Constructor

The client exposes:

Compatibility adapters

Compatibility adapters are subpath exports of @run-cloud/sdk; no second npm package or scope is required. Adapters preserve the provider’s familiar entry point for core sandbox creation, lookup/listing, synchronous command execution, lifecycle, and destruction. Provider-specific functionality without a public run.cloud equivalent throws UnsupportedCompatibilityFeatureError; unsupported methods never return a fabricated success.

SimulatorClient

cloud.ios and cloud.android expose the same methods: cloud.ios additionally exposes:

CreateSessionOptions

Always release metered sessions in finally:

SimulatorsClient

Use cloud.simulators when the platform is chosen at runtime. platform is "ios" | "android" and defaults to "ios".

SandboxClient

Use cloud.sandboxes to create and operate microVM sandboxes through the same run.cloud API key as the CLI.

CreateSandboxOptions

ExecOptions

A string command runs through /bin/sh -c; pass a string array to execute the arguments directly:

SnapshotsClient

Usage

UsageReport.items contains cumulative usage entries with org_id, meter, and seconds.

AssetsClient

Response types

SimulatorSession

The response may also include allocation, queue, device, lease, and metering metadata.

Asset

Sandbox

The SDK preserves the API’s raw snake_case fields and also adds the camelCase aliases shown above.

ExecResult

Errors

Non-successful API responses throw RunCloudError: