Simemu: what happens when two agents want the same simulator

Checked 22 Sep 2026 · By Luke Czak

ArticleHow to Use AIFree to read

Two agents, one simulator. One boots a device, the other kills it, and a screenshot captures the wrong app. Nothing errors, so you get proof of something that never happened.

Run two agents on one machine and give them both a simulator to drive, and they will fight over it. One boots a device, the other shuts it down, and a screenshot comes back showing the wrong app. Nothing throws. You are simply handed evidence of something that did not happen, which is the worst possible outcome, because you will believe it.

Simemu turns the device from an assumption into an allocation. An agent claims a session first, then does everything through that session rather than against a raw device identifier. Two concurrent claims always receive different devices, and when the pool is exhausted the second caller fails immediately rather than quietly sharing one.

The choice I find most instructive is a convenience it deliberately does not offer. There is no flag meaning every device, and it never runs a shut-down-everything sweep, because the single thing that must never happen is one agent tidying up a device another agent has claimed. Sessions instead age out through idle and parked states, and claims left behind by a dead process are reaped.

There is also a guard hook that blocks direct simulator and device commands, so an agent that reaches for the raw tools out of habit is stopped before they run. That reads as heavy-handed until you notice the obvious thing: exclusivity you can bypass by accident is not exclusivity, it is a naming convention.

Comments (0)

Sign in to comment.