# Switch your name, email, SSH key, and GitHub account
# across profiles — instantly, without touching config files.
A keyboard-driven TUI that gets out of your way.
brew install aksisonline/tap/gitswitch
# GitHub CLI only manages API tokens. Your commit identity — the name and email baked into every commit — is completely separate. gitswitch handles both.
user.name and user.email in your global git config. No more wrong-email commits.core.sshCommand to force a specific key with IdentitiesOnly=yes, preventing agent fallback.user.signingkey alongside your identity so signed commits always use the right key.gh auth switch on profile change. Best-effort — your git config always switches even if gh fails.gitswitch pin.cd, and tab completions. Works with Starship, p10k, oh-my-zsh.# Two tools, two different problems. gitswitch handles what the GitHub CLI intentionally ignores.
| capability | gh auth switch |
gitswitch |
|---|---|---|
| github api tokens | ✓ | ✓ (optional) |
git config user.name/email | ✗ | ✓ |
| ssh key switching | ✗ | ✓ |
| gpg signing key | ✗ | ✓ |
| shell prompt integration | ✗ | ✓ |
| interactive tui | ✗ | ✓ |
| repo-specific identity pinning | ✗ | ✓ |
# Choose your preferred installation method. Homebrew is recommended for automatic updates.
brew install aksisonline/tap/gitswitch
brew upgradecurl -fsSL https://raw.\
githubusercontent.com/aksisonline/\
gitswitch/main/.github/install.sh \
| bash
git clone https://github.com/\
aksisonline/gitswitch
cd gitswitch && make install
go 1.21+Coming features for teams & multi-org workflows
gh_user on profile, empty ~/.gitconfig, missing gh credential helper, stale SSH keys. One command to verify & heal.