[Bug]: macOS Source Control reports installed Homebrew gh as unavailable
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 investigate the problem.
Area
apps/desktop
Observed sequence
- T3 Code 0.0.33 was installed as the packaged macOS app.
- GitHub CLI was installed and authenticated:
gh --versionsucceeded in Terminal.gh auth statusshowed an authenticated GitHub account.
- In Settings → Source Control, GitHub appeared as unavailable with the instruction to install
gh. - Rescan server environment did not make GitHub available.
This is an observation from one real packaged-app session, not yet a deterministic clean-environment reproduction.
Expected behavior
Following the documented setup—installing gh, authenticating it, and rescanning the server environment—should make GitHub available in Source Control.
Actual behavior
GitHub was shown as:
Not available on this server: Install the GitHub command-line tool (
gh).
T3's logs from the affected session contain:
VcsProcessSpawnError: source-control.discovery.probe: gh
PlatformError: NotFound: ChildProcess.spawn (gh --version)
Error: spawn gh ENOENT
This establishes that Source Control could not resolve the gh executable and failed before GitHub authentication was evaluated.
What has and has not been established
Established:
- The packaged app was T3 Code 0.0.33.
gh2.93.0 was installed and authenticated.- A real executable was available at
/Users/toviastorres/.local/bin/gh; Homebrew also exposed/opt/homebrew/bin/gh. - The Source Control probe failed with
spawn gh ENOENT. - The documented Rescan server environment action did not recover discovery in the affected session.
Not yet established:
- The exact
PATHseen by the original T3 server process was not captured directly. - The outputs or failures of T3's login-shell and
launchctlPATH probes were not captured. - A local application modification and an application restart occurred together afterward, so the later successful discovery does not isolate whether the restart, the modification, or their combination changed the result.
- Therefore, a missing standard-directory fallback is a hypothesis, not a confirmed root cause.
Related issues
- #1787 / #1799 address Homebrew-installed provider CLIs not being detected by the packaged macOS app. This may be a regression or an uncovered path through the same environment-hydration area.
- This differs from #7581, where T3 finds
ghbut reports the wrong authentication state. - This differs from #3806, which involves a
ghversion too old to support the authentication JSON probe. - This differs from #2187, which involves a shell alias and 1Password-based authentication.
Impact
Major degradation or frequent failure
Version or commit
0.0.33 (3b72d17cbca691f0b64e6d4a10c9e349f42873a5)
Environment
- macOS 26.6.2
- Apple Silicon (arm64)
- Packaged T3 Code desktop app 0.0.33
- GitHub CLI 2.93.0
- GitHub authentication stored in the keyring
Suggested investigation
It may help to log, alongside the failing Source Control probe:
- the effective server
PATH; - whether the login-shell probe succeeded, timed out, or returned an unusable value;
- the value returned by
launchctl getenv PATH; - which environment source was ultimately selected.
That would distinguish a shell-probe failure, environment propagation issue, stale process state, or provider-specific discovery issue without assuming a particular fix.
Workaround status
No workaround was isolated conclusively. Restarting the app was not tested independently from the local application modification. The documented rescan action did not resolve the affected session.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the apps/desktop Source Control discovery probe and the server environment hydration path. Reproduce the packaged macOS case while logging the effective PATH, login-shell result, launchctl PATH, and selected environment source. Done means the cause is isolated and GitHub becomes available after the documented install, authentication, and rescan flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, macos
- Domain
- desktop, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100