Preflight Checklist
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
Preflight Checklist
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/DeveloperAnd 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