Skip to main content

Troubleshooting

sim-remote prints error: <message> on stderr. When there is an action to take, a second line hint: <advice> follows, with two leading spaces. The exit code is 1.

Error messages

MessageCauseAction
not logged inThe daemon holds no sessionRun sim-remote login
your session is no longer validThe token expired, or the API key was replacedRun sim-remote login
authentication failed: <detail>The server rejected the API keyCheck SIM_ROUTER_API_KEY or --api-key
client/server protocol mismatch: <detail>The binary is too old for the serverDownload the latest release of sim-remote
no simulator is available right nowAll machines of your team are busyRun the command again with --timeout <SECS> to wait for a free machine
you no longer hold a machineThe machine was released, for example after the idle timeoutRun sim-remote acquire, or sim-remote attach <MACHINE_ID> for a machine that you still hold
your machine is offlineThe machine lost its connection to the serverWait a few seconds and run the command again. If it stays offline, run sim-remote release and then sim-remote acquire
you do not hold that machineThe id given to attach is not yoursRun sim-remote list-machines to see the machines that you hold
the server is busy right nowThe server rate limits your requestsWait a moment and run the command again
could not reach sim-router at <URL>No connection to the serverCheck your network and the --server URL
the request to sim-router timed outThe server did not answer in timeRun the command again
the sim-remote daemon is not responding: <detail>The daemon on your computer is stuckRun sim-remote daemon stop, then run the command again
upload exceeds the 1 GiB limitThe file is too largeReduce the size of the bundle or the file
simulator operation failed: <detail>simctl on the machine failedRead the detail. It is the message of simctl
the running daemon is incompatible with this clientYou updated sim-remote while the old daemon ranRun sim-remote daemon stop and log in again. This releases the machine
no sim-router URL: pass --server <URL> or set SIM_ROUTER_URLThe binary has no server URLUse the release binary, or pass --server <URL>

Symptoms

login stays on Waiting for an available machine.... All machines of your team are in use. Wait, or shorten the wait with --timeout <SECS>, or fail at once with --no-wait. Run sim-remote list-machines to check whether you hold a machine yourself.

A simulator that you booted earlier is gone. Your session is attached to another machine, or the machine was released and rebuilt. Run sim-remote list-machines to see the current machine and sim-remote attach <MACHINE_ID> to switch back. After a release, boot the simulator again.

The app in the simulator cannot reach your local server. The simulator has no route to your localhost. Run sim-remote reverse start <UDID> <PORT> and confirm the tunnel with sim-remote reverse status. See Connect to local servers.

Argent shows no hosted simulators. Argent needs sim-remote on PATH and a session with a machine. Run sim-remote login and list the devices again.

The machine was released while a test ran. The idle timeout expired because no sim-remote command ran for 15 minutes. Run sim-remote keepalive <TIME> next to the test, or increase SIM_REMOTE_IDLE_TIMEOUT_SECS. See Sessions and limits.

Maestro or Appium cannot start the test runner. Read the log of the xcodebuild process: xctest_runner_*.log for Maestro, or the Appium server log with appium:showXcodeLog: true. The shim writes its steps there. See Maestro and Appium.

We are Software Mansion.