pingdotgg / pingdotgg/t3code

[Bug]: Device setup says no iOS Simulator is installed when xcode-select points at Command Line Tools

Open
#11,713 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. On a Mac that has both Xcode.app and Command Line Tools installed, point the developer directory at Command Line Tools: sudo xcode-select -s /Library/Developer/CommandLineTools. This is the state many Macs are in when Command Line Tools were installed before Xcode, or after an Xcode update reset the path.
  2. Open T3 Code on that Mac, go to Settings, and run the device setup.
  3. Turn on the device hub and go to the Simulators step.
Expected behavior

The setup should say what is really wrong: xcrun cannot find simctl because the developer directory points at Command Line Tools. It should tell the user to run sudo xcode-select -s /Applications/Xcode.app/Contents/Developer.

Actual behavior

The setup says:

Xcode is installed, but no iOS Simulator is available. Install a runtime in Xcode Settings → Components.

The runtime is already installed. The user is sent to install something they already have, and the fix that would actually work is never mentioned.

In plain terms: T3 Code checks that a program called xcrun exists and takes that to mean Xcode is ready. But the Command Line Tools ship their own xcrun that cannot run the simulator tool simctl. The device hub then asks that xcrun for the simulator list, gets an error, and returns an empty list. T3 Code sees the empty list and guesses that no runtime is installed. The hub does report the real error, but the setup wizard only shows that text when the hub itself failed to start, so the user never sees it.

Impact

Major degradation or frequent failure

Version or commit

main @ 01e05c152

Environment

macOS, Xcode 26 with iOS 26.5 runtime, T3 Code desktop app

Logs or stack traces
$ xcode-select -p
/Library/Developer/CommandLineTools
$ xcrun simctl list devices available
xcrun: error: unable to find utility "simctl", not a developer tool or in PATH

After the fix below the same command lists eleven iOS 26.5 simulators.

Workaround

Run sudo xcode-select -s /Applications/Xcode.app/Contents/Developer, then reopen the device setup. The SSH device host already runs xcrun simctl help as its check, so remote Mac hosts do not have this problem. Only the local host does.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the local device setup and simulator-step handling described in the issue, then reproduce the failure with xcode-select pointed at Command Line Tools and xcrun simctl list devices available. Trace how an empty simulator list is distinguished from a hub startup error. Done means the setup explains that simctl is unavailable because of the developer directory and shows the documented xcode-select command instead of suggesting an already-installed runtime.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, typescript
Domain
desktop, mobile-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.