[BUG] iOS Simulator pane: Cmd+Q quits all of Claude Desktop, and pane doesn't auto-rotate to match app's locked orientation
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:
control{action:"attach"}a simulator device — pane opens embedded in Claude Desktop.- Click into the pane so it has window focus.
- 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:
- Build+install+launch a landscape-locked iOS app onto the simulator via
xcrun simctl launch(or viacontrol{action:"launch"}). - 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.