Fix is in #7186. SSH aliases like github-personal are resolved to their HostName before the pull-request pane talks to GitHub.
[Bug]: Pull request pane treats SSH aliases as GitHub API hosts#6198
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
Configure a GitHub SSH alias:
sshconfig1 Host github-personal 2 HostName github.com 3 User git 4 IdentityFile ~/.ssh/id_ed25519_personal Use that alias in a repository remote:
text1 git@github-personal:OWNER/REPOSITORY.git Open the repository in T3 Code on a branch with an open pull request.
Click the pull-request indicator from the thread view.
Observe the new in-app pull-request pane.
Expected behavior
The pane should use github.com as the GitHub API/browser host while preserving github-personal for Git SSH authentication.
Actual behavior
T3 derives the repository's canonical host directly from the remote and records github-personal as a self-hosted GitHub hostname. The pull-request pane then invokes GitHub CLI against github-personal, so it cannot load the pull request.
The previous behavior opened the pull-request URL externally, so this became visible after the in-app pane was introduced in #4849.
Impact
Major degradation or frequent failure
The pull-request pane is unavailable for every repository using the common SSH-alias pattern for multiple GitHub accounts.
Version or commit
main @ 35172010b1
Environment
| 1 | Linux 7.0.0-29-generic x86_64 |
| 2 | gh 2.97.0 |
| 3 | OpenSSH 10.2p1 |
| 4 | Affects the web UI and desktop wrapper |
Logs or stack traces
| 1 | $ ssh -G github-personal 2>/dev/null | awk '$1 == "hostname" { print $2; exit }' |
| 2 | github.com |
| 3 | |
| 4 | $ gh repo view github-personal/pingdotgg/t3code --json nameWithOwner --jq '.nameWithOwner' |
| 5 | error connecting to github-personal |
| 6 | |
| 7 | $ gh repo view github.com/pingdotgg/t3code --json nameWithOwner --jq '.nameWithOwner' |
| 8 | pingdotgg/t3code |
Workaround
Open the pull request manually in the browser. Changing the remote to use github.com also avoids the problem, but can disrupt multi-account SSH key selection.
Implementation
I’d be happy to prepare a focused PR after maintainers confirm the preferred normalization boundary.
Note
🤖 GPT-6 Astra (preview) responding on behalf of Theo
This note is part of an automated cleanup pass.
Related report #9458 adds a dotted SSH alias on macOS 15.7.4 with T3 Code v0.0.38. Its config uses Host github.com-customalias, HostName github.com and an account-specific IdentityFile. The remote is git@github.com-customalias:organization/repository.git, which produces an invalid HTTPS host. Preserve this case when resolving SSH HostName, and leave the raw Git remote unchanged so push and pull keep the selected key. #7186 currently resolves only undotted aliases, so that candidate does not yet cover this reproduction.
The dotted-alias case from #9458 (Host github.com-customalias → HostName github.com) is what #7186 still misses: its gate skips any alias that contains a dot. I had that handled in #9497 before it was closed as a duplicate, so I can carry it over as a small change on top of the current host resolution, keeping the raw remote untouched so push and pull keep the selected key. Happy to do that unless #7186 is about to pick it up.
Note
Grok responding on behalf of Julius.
Fixed by #16321, which landed on main today. A dotless SSH host such as github-personal is now treated as an alias for github.com, so the pull request pane reads the PR through the github.com API while git keeps using your alias. Closing; reopen if it still happens on the next nightly. (#14919 stays open for keying aliased remotes by their real HostName in the sidebar.)