Is there an existing issue for this?
Steps to reproduce
1. Create a fresh Expo project:
npx create-expo-app@latest MaestroTest --template blank
cd MaestroTest
2. Build and install on iOS Simulator (iPhone 15, iOS 17.4):
npx expo run:ios
3. Verify the app is installed and running on the simulator
4. Create a minimal Maestro test file:
mkdir -p .maestro
echo 'appId: com.yourname.MaestroTest
---
- launchApp' > .maestro/simple.yaml
5. Run Maestro test:
maestro test .maestro/simple.yaml
6. Observe: Command hangs indefinitely with no output (tested 2+ minutes)
Even simpler - this also hangs:
maestro hierarchy
Test Device: iPhone 15 Simulator (UDID: 8537048C-41D1-4201-ADAB-85F3C1CFC60A)
iOS Version: 17.4
Additional verification:
- Confirmed simulator is booted:
xcrun simctl list devices | grep Booted
- Confirmed app is installed:
xcrun simctl listapps booted | grep CFBundleIdentifier
- Tested with single simulator only (all others shut down)
- Installed idb-companion 1.1.8 via Homebrew - no change
- Set MAESTRO_DRIVER_STARTUP_TIMEOUT=120000 - no change
Actual results
maestro test and maestro hierarchy commands hang indefinitely with no output (tested up to 2+ minutes)
- Must be manually killed with Ctrl+C
- Maestro Studio desktop app shows "Failed to connect to devices service"
- No devices appear in Maestro Studio's device list
Maestro log (~/.maestro/tests/*/maestro.log) stops after system info and never attempts simulator connection:
12:14:59.905 [ INFO] MAESTRO.logSystemInfo: ---- System Info ----
12:14:59.906 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 2.0.10
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.0
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: Java Version: 17
12:14:59.979 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.2
12:15:00.326 [ INFO] MAESTRO.logSystemInfo: ---------------------
12:15:00.355 [DEBUG] ... Using SLF4J as the default logging framework
Logging stops here - no connection attempt is ever made.
Expected results
Maestro should connect to the iOS Simulator and either:
- Execute the test flow successfully, or
- Display an error message explaining why connection failed
The command should not hang indefinitely with no output.
About app
- Open source reproduction: Fresh Expo project created with
npx create-expo-app@latest MaestroTest --template blank
- Cross-platform app: React Native / Expo
- Framework: Expo SDK 52, React Native 0.76.x
- iOS deployment target: iOS 15.1+
Important: This is NOT app-specific. The issue was first observed on a production app, then reproduced with a brand new hello world Expo project to rule out app-specific causes.
About environment
- Machine: Apple Silicon Mac (arm64)
- macOS: Sequoia 15.0 (Darwin 24.0.0)
- Xcode: 16.2 (Build 16C5032a)
- iOS Simulator Runtime: iOS 17.4 (also tested iOS 18.3 - same result)
- Java: OpenJDK 17.0.17 (Zulu17)
openjdk version "17.0.17" 2025-10-21 LTS
OpenJDK Runtime Environment Zulu17.62+17-CA (build 17.0.17+10-LTS)
OpenJDK 64-Bit Server VM Zulu17.62+17-CA (build 17.0.17+10-LTS, mixed mode, sharing)
- idb-companion: 1.1.8 (installed via Homebrew, built Aug 2022)
Logs
Maestro Log
12:14:59.904 [ INFO] maestro.cli.report.TestDebugReporter.logSystemInfo: Debug output path: /Users/franziskus/.maestro/tests/2025-12-24_121459
12:14:59.905 [ INFO] MAESTRO.logSystemInfo: ---- System Info ----
12:14:59.906 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 2.0.10
12:14:59.906 [ INFO] MAESTRO.logSystemInfo: CI: Undefined
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.0
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64
12:14:59.907 [ INFO] MAESTRO.logSystemInfo: Java Version: 17
12:14:59.979 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.2
12:15:00.182 [ INFO] MAESTRO.logSystemInfo: Flutter Version: 3.38.1
12:15:00.326 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: stable
12:15:00.326 [ INFO] MAESTRO.logSystemInfo: ---------------------
12:15:00.355 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework
Log ends here - process hangs with no further output.
idb_companion output when started manually
IDB Companion Built at Aug 12 2022 08:41:50
IDB Companion architecture arm64
Providing targets across Simulator and Device sets.
CoreSimulator: Loading from /Library/Developer/PrivateFrameworks/CoreSimulator.framework
CoreSimulator: Successfully loaded
Starting swift server on tcp port 10882
Swift server started on [IPv6]::/:::10882
{"grpc_swift_port":10882,"grpc_port":10882}
Companion will stay alive if target goes offline
idb starts successfully but Maestro still cannot connect.
Simulator verification commands
$ xcrun simctl list devices | grep Booted
iPhone 15 (8537048C-41D1-4201-ADAB-85F3C1CFC60A) (Booted)
$ xcrun simctl listapps booted | grep CFBundleIdentifier | grep -i maestro
CFBundleIdentifier = "com.franziskus.MaestroTest";
$ xcrun simctl getenv booted SIMULATOR_RUNTIME_VERSION
17.4
Maestro version
2.0.10
How did you install Maestro?
install script (https://get.maestro.mobile.dev)
Anything else?
Hypothesis:
The combination of macOS Sequoia 15.0 + Xcode 16.2 breaks Maestro's iOS device detection/connection layer. The failure occurs before any test execution - Maestro cannot establish initial communication with the simulator.
Note about idb-companion:
The installed version (1.1.8) was built in August 2022 - significantly before Xcode 16 and macOS Sequoia were released. This may be a contributing factor.
Workarounds attempted (none successful):
- Installing idb-companion
- Starting idb manually with explicit UDID
- Testing with single simulator only
- Setting MAESTRO_DRIVER_STARTUP_TIMEOUT environment variable
- Testing with both iOS 17.4 and iOS 18.3 runtimes
- Testing with both dev and release builds
Impact:
Complete loss of iOS E2E testing capability on macOS Sequoia + Xcode 16.2.
Is there an existing issue for this?
Steps to reproduce
Test Device: iPhone 15 Simulator (UDID: 8537048C-41D1-4201-ADAB-85F3C1CFC60A)
iOS Version: 17.4
Additional verification:
xcrun simctl list devices | grep Bootedxcrun simctl listapps booted | grep CFBundleIdentifierActual results
maestro testandmaestro hierarchycommands hang indefinitely with no output (tested up to 2+ minutes)Maestro log (
~/.maestro/tests/*/maestro.log) stops after system info and never attempts simulator connection:Logging stops here - no connection attempt is ever made.
Expected results
Maestro should connect to the iOS Simulator and either:
The command should not hang indefinitely with no output.
About app
npx create-expo-app@latest MaestroTest --template blankImportant: This is NOT app-specific. The issue was first observed on a production app, then reproduced with a brand new hello world Expo project to rule out app-specific causes.
About environment
Logs
Maestro Log
Log ends here - process hangs with no further output.
idb_companion output when started manually
idb starts successfully but Maestro still cannot connect.
Simulator verification commands
Maestro version
2.0.10
How did you install Maestro?
install script (https://get.maestro.mobile.dev)
Anything else?
Hypothesis:
The combination of macOS Sequoia 15.0 + Xcode 16.2 breaks Maestro's iOS device detection/connection layer. The failure occurs before any test execution - Maestro cannot establish initial communication with the simulator.
Note about idb-companion:
The installed version (1.1.8) was built in August 2022 - significantly before Xcode 16 and macOS Sequoia were released. This may be a contributing factor.
Workarounds attempted (none successful):
Impact:
Complete loss of iOS E2E testing capability on macOS Sequoia + Xcode 16.2.