iOS Simulator panel attach fails with "No booted simulator found" on Xcode-beta (DeviceHub replaces Simulator.app)

Status Fixed / completed
Reported on v2.1.146
Maintainer reply None cached
Activity 1 comment · opened Jul 23, 2026 · closed Aug 25, 2026

Environment

  • macOS 27.0 (26A5378n)
  • Xcode 27 beta (27A5218g) — Simulator.app is replaced by DeviceHub.app at

/Applications/Xcode-beta.app/Contents/Applications/DeviceHub.app

  • Claude Code 2.1.146
  • Runtime: iOS 27.0 (24A5380i)

Repro

  1. Boot a sim headlessly (e.g. as build/ship tooling does): xcrun simctl boot <udid>
  2. xcrun simctl list devices booted correctly reports the device as (Booted)
  3. Call the iOS Simulator tool's attach action

Actual

attach returns "No booted simulator found. Boot one with: xcrun simctl boot <device> — then retry this action." even though the device is genuinely booted.

Investigation

This isn't just "no GUI window open" — I tested that directly:

  • simctl boot alone leaves DeviceHub running as a process with zero windows (confirmed via osascript ... tell process "DeviceHub" to count windows0).
  • Manually running open "/Applications/Xcode-beta.app/Contents/Applications/DeviceHub.app" immediately creates a real, correctly-titled window ("iPhone 17 Pro – iOS 27.0").
  • Retried attach after the window existed (with simctl list devices booted still confirming Booted) — still fails with the same error.
  • ps aux shows only a DeviceHub process; nothing named Simulator is running anywhere.

This suggests the panel's booted-simulator detection may hardcode a check for the legacy Simulator.app process/bundle id rather than relying on xcrun simctl list devices booted, so it never recognizes a booted device on setups where Xcode-beta has replaced Simulator.app with DeviceHub.app.

Expected

attach should succeed whenever xcrun simctl list devices booted reports a booted device, regardless of whether the controlling GUI process is Simulator.app or DeviceHub.app.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗