atproto git client atgc.codes

fix(git): log in over SSH as the DID, not a cached handle #1448

Merged permadeath.com
targeting main from claude/ssh-login-did
Merged opened by and assigned to permadeath.com
targeting main from claude/ssh-login-did

Today pr create and pr resubmit build the SSH push URL from the account's cached handle, which refreshes only on auth status or --account @handle, so a handle rename leaves the login stale. A checkout whose pinned core.sshCommand key belongs to a different account than the acting one also pushes with one account's key while logging in as another, with no warning.

This PR logs in as the acting account's DID instead, which never goes stale, and warns before the push when the pinned key belongs to another account. Existing remotes that still name a handle keep working, because only the push URL's login is rewritten.

before and after

🤖 Generated with Claude Code

Commits 0