[BUG] iOS Simulator pane: Cmd+Q quits all of Claude Desktop, and pane doesn't auto-rotate to match app's locked orientation

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

Environment

  • Claude Desktop: 1.24012.1 (macOS)
  • macOS: Darwin 25.5.0
  • Xcode: installed, iOS runtimes 18.0 / 18.2 / 26.5 present
  • Simulator device: custom-named sim, device type iPad Pro 13-inch (M4), runtime iOS 26.5

Bug 1: Cmd+Q while the iOS Simulator pane has focus quits all of Claude Desktop

Repro:

  1. control{action:"attach"} a simulator device — pane opens embedded in Claude Desktop.
  2. Click into the pane so it has window focus.
  3. Press Cmd+Q (intending to quit just the simulator, the way you would with Apple's own Simulator.app).

Expected: Either nothing happens (Cmd+Q isn't a meaningful shortcut inside an embedded pane), or it closes/detaches just the pane.

Actual: Cmd+Q quits the entire Claude Desktop application — losing the whole session's UI state. ps aux confirms the pane is not a separate Simulator.app process; it's rendered by Claude Desktop's own embedded streamer (window chrome shows "Frame rate / FPS / Resolution / Encoding H.264", not Apple's native Simulator.app UI). Because it's the same process as the host app, the standard "quit frontmost app" shortcut takes down the whole app. This is a sharp edge for anyone used to Apple's Simulator.app muscle memory.

Suggested fix: intercept Cmd+Q while the embedded simulator pane has focus and treat it as "close/detach pane" rather than passing it through to quit the whole Electron app.

Bug 2: Pane doesn't auto-rotate to match a landscape-locked app's requested orientation

Repro:

  1. Build+install+launch a landscape-locked iOS app onto the simulator via xcrun simctl launch (or via control{action:"launch"}).
  2. Attach the pane (control{action:"attach"}) and view the running app.

Expected: Similar to Apple's Simulator.app with defaults write com.apple.iphonesimulator RotateWindowWhenSignaledByGuest -bool true, the simulated device chrome should rotate to landscape to match the app's requested/locked orientation.

Actual: The device chrome stays portrait while the app's landscape-locked content renders sideways inside it, letterboxed with black bars top and bottom. There's no equivalent RotateWindowWhenSignaledByGuest-style setting for the embedded pane, and the control tool exposes no rotate action — rotation is only available as a manual UI button / Cmd+Right Arrow keyboard shortcut per https://code.claude.com/docs/en/desktop-ios-simulator, and even that doesn't auto-trigger when a guest app signals a required orientation.

Suggested fix: have the embedded pane auto-follow the guest app's requested/locked orientation the way Apple's Simulator.app does with RotateWindowWhenSignaledByGuest, rather than requiring a manual rotate every time.

Impact

Both surfaced during prep for a scripted, orientation-sensitive demo flow (app must render landscape before any sign-in). The Cmd+Q behavior is a genuine data-loss / session-loss risk for anyone reflexively quitting what looks like a standalone simulator window.

View original on GitHub ↗