Back home

Simlock

x 0.80
Visit source

Intro

Simlock is a free, MIT-licensed open-source tool from Callstack (the React / React Native consultancy, via its Callstack Incubator). It acts as a control plane for mobile test devices: when you run several AI coding agents in parallel on a mobile app, each agent can lease its own iOS simulator, Android emulator or enrolled physical phone instead of all of them fighting over one shared simulator.

The project got broad attention on October 30, 2026 with the release of simlock 0.4.0 on npm and a launch post from Callstack engineer Szymon Chmal that passed 800 likes. Earlier versions (0.1/0.2) were published in August 2026.

Explain

What problem it solves

Coding agents such as Claude Code or Codex often boot their own simulators when testing a mobile app. Run several in parallel and you get chaos: agents tap into each other's devices, or the machine fills up with dozens of stray simulators (one developer reported almost 70).

How it works

  • Leases: an agent asks for a device (e.g. --platform ios --device "iPhone 16") and gets one back, booted and health-checked, that no other agent touches until it is released.
  • Auto-provisioning: if no matching device is free, Simlock creates one; if the machine is at capacity, the request is queued.
  • Warm pool & cleanup: it keeps devices ready and cleans up abandoned ones.
  • Physical devices: enrolled real phones can be leased the same way.
  • Fleet mode: start on one Mac, then put more Macs and Linux machines behind a gateway with one URL.
  • Interfaces: CLI, MCP server, HTTP API and a Node.js client, so it plugs into most agent setups.

Status

  • License: MIT, free forever per Callstack.
  • Runs on macOS and Linux; Windows support was described by the author as "on the way".

Usage

How to try it

npm i -g simlock
simlock doctor          # check your Xcode / Android SDK setup
simlock lease --platform ios --device "iPhone 16"

Tips

  • Expose it to your agent through the MCP server so the agent can lease and release devices by itself.
  • For teams or CI, run workers on several machines and point agents at the gateway.
  • Always release leases at the end of a task so the warm pool stays healthy.