iOS Simulator panel shows black screen after host reboot, doesn't recover even after underlying simulator is healthy again

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 28, 2026

Description

After a macOS reboot, the Claude Code iOS Simulator panel (mcp__Claude_Code_iOS_Simulator__control, attach/screenshot/tap actions) showed a persistent black screen in the live panel, even after the underlying simulator was confirmed healthy.

Repro steps

  1. Reboot the host Mac (Xcode 26.5, iOS 26.5 simulator runtime).
  2. Boot an iOS Simulator device via xcrun simctl boot.
  3. Call attach on the Claude Code iOS Simulator panel — panel opens but renders black / partially gray.
  4. screenshot action fails: Error Domain=com.facebook.FBSimulatorControl Code=0 "No Image available to encode" — confirms the frame source itself was dead post-reboot, not just the panel's stream.
  5. Fix underlying frame source: simctl shutdown, kill CoreSimulatorService, relaunch via open -a Simulator --args -CurrentDeviceUDID <udid>. After this, screenshot succeeds and shows correct content (home screen), and tap registers.
  6. Despite the frame source now being provably healthy, the panel continues to show black to the user. detach + attach does not fix it.
  7. At one point during this, the panel backend itself crashed and auto-restarted ("Claude Code iOS Simulator is restarting after a crash").
  8. Workaround: bypass the panel entirely — open -a Simulator --args -CurrentDeviceUDID <udid> opens the real macOS Simulator.app window directly, which renders correctly.

Expected

The panel should either recover automatically once the underlying simulator surface is healthy again, or detach/attach should force a full stream renegotiation rather than reusing a stale encoder session.

Environment

  • macOS (Darwin 25.5.0), Xcode 26.5, iOS 26.5 simulator runtime
  • Claude Code CLI

View original on GitHub ↗