-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[BUG] macOS desktop app does not inherit SSH_AUTH_SOCK from login shell when launched outside Terminal #971
Description
Problem
On macOS, the desktop app repairs PATH from the user’s login shell during startup, but it does not hydrate other shell-provided environment variables.
That means if T3 Code is launched from Finder or the Dock, it can miss SSH_AUTH_SOCK even though the same machine and repo work correctly from Terminal. In practice, Git operations that rely on an SSH agent can fail inside the desktop app while succeeding in a login shell.
Relevant code paths:
apps/desktop/src/fixPath.tspackages/shared/src/shell.ts
Reproduction
- On macOS, configure a repo to use a Git remote over SSH.
- Use an SSH agent setup that exposes auth through
SSH_AUTH_SOCKin the login shell. - Launch T3 Code from Finder or the Dock, not from Terminal.
- Trigger a Git operation from the desktop app that needs SSH auth.
Actual
The desktop app process can be missing SSH_AUTH_SOCK, so Git/SSH auth fails even though the same repo works from Terminal.
Expected
The macOS desktop app should sync the relevant shell environment needed for Git/SSH behavior, not just PATH, so Git operations behave consistently with a normal login shell.
Proposed Scope
Small, focused bug fix:
- Extend the existing macOS shell-env bootstrap to read
SSH_AUTH_SOCKalongsidePATH - Preserve the current fallback behavior if shell environment lookup fails
- Keep the change desktop-scoped and avoid unrelated shell/bootstrap refactors
Why This Matters
This is a reliability issue in normal desktop usage. Launching from Finder is a standard macOS path, and Git auth should not depend on whether the app was started from Terminal.