Desktop app iOS Simulator helper (claude-ios-sim) crash-loops on macOS 27.0: NSInvalidArgumentException in Metal binary archive during CIContext creation
claude-ios-sim crash-loops on macOS 27.0 when capturing the simulator
Environment
- Claude desktop app (Code tab), iOS Simulator panel
- macOS 27.0 (26A428), Xcode 27.0 (27A266a), Apple Silicon
- Simulator runtimes iOS 26.3 / 26.4; booted device iPhone 18 Pro Max
Symptom
"Attach a simulator" panel shows "Claude Code iOS Simulator is restarting after a crash. Try again in 1s" in a loop.control(attach) succeeds; the first control(screenshot) (or the panel's own frame capture) crashes the helper.
16 crash reports between 11:32 and 11:45 local time.
Crash~/Library/Logs/DiagnosticReports/claude-ios-sim-2026-09-15-114526.ips
- SIGABRT, uncaught
NSInvalidArgumentException:
*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]
- Last exception backtrace (top → bottom):
````
CoreFoundation -[__NSPlaceholderArray initWithObjects:count:]
Metal __39-[_MTLDevice recordBinaryArchiveUsage:]_block_invoke (dispatch_once)
Metal -[_MTLBinaryArchive loadFromURL:error:]
CoreImage +[CIKernelLibrary(Internal) internalBinaryArchiveWithName:device:]
CoreImage CI::MetalContext::init
CoreImage +[CIContext contextWithMTLDevice:options:]
claude-ios-sim (screenshot / frame pipeline)
Notes
- Reproduces on every attach; not device-specific (happened after the device set was recreated).
- Headless
xcodebuildbuilds/tests on the same simulators work fine; only the panel/screenshot path is affected. - Likely a macOS 27 Metal/CoreImage regression hit when the helper creates a
CIContextbacked by a Metal device. A software/CPUCIContextfallback, or catching the ObjC exception around context creation, would keep the panel usable.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗