[BUG] Desktop app's iOS Simulator breaks under Xcode 27 (Device Hub)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Description
The Claude Code desktop app ships an iOS Simulator. It fails whenever xcode-select points at Xcode 27.
Root cause
Xcode 27 removed Simulator.app in favour of the new Device Hub, and moved SimulatorKit.framework from Contents/Developer/Library/PrivateFrameworks/ to Contents/SharedFrameworks/. The bundled tool still hardcodes the old path.
Workaround and its limits
Pointing xcode-select back at a pre-Xcode-27 Xcode.app fixes attach/screenshot/tap, but then the tool's build action fails on any project requiring the Xcode 27 SDK. This can be worked around by using Xcode MCP instead.
So there is currently no single xcode-select configuration where this tool can both drive the simulator and build an Xcode-27-dependent project.
Environment
Claude Code desktop app (macOS) (Version Claude 1.24012.1 (0adcae))
Xcode 27.0 beta 4 and Xcode 26.
What Should Happen?
Expected
The bundled tool should resolve SimulatorKit.framework (and other toolchain paths) dynamically based on the active xcode-select/Xcode version, including the new Device Hub-era Contents/SharedFrameworks/ location for Xcode 27+.
Error Messages/Logs
Error Domain=com.facebook.FBControlCore Code=0 "Attempting to load a file at path '/Applications/Xcode 27.app/Contents/Developer/Library/PrivateFrameworks/SimulatorKit.framework', but it does not exist"
Steps to Reproduce
Run xcode-select -s /Applications/Xcode 27.app/Contents/Developer
And try to use the iOS simulator feature on Claude Code
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude 1.24012.1 (0adcae) 2026-07-21T20:59:53.000Z
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗