Install any skill in seconds. Free to start, no credit card required.
Get Started Free →GitHub auth setup via gh CLI, SSH keys, HTTPS PATs
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-14 | ✓→✗ | ▼ Worse | 202% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 70% | 0% |
| case-12 | ✓→✓ | = Same ✓ | 20% | 0% |
| case-01 | ✓→✓ | = Same ✓ | -13% | 0% |
Configure GitHub authentication for git and gh CLI operations using the GitHub CLI (gh), SSH keys, or HTTPS personal access tokens (PATs).
Permission denied (publickey) or Authentication failed errorspowershell# Interactive login — opens browser for OAuth gh auth login # Choose: GitHub.com → HTTPS → Authenticate with browser # Or choose SSH if preferred # Verify authentication gh auth status
powershell# Generate Ed25519 key (modern, secure) ssh-keygen -t ed25519 -C "your-email@example.com" -f "$env:USERPROFILE\.ssh\github_ed25519" # Start ssh-agent and add key Start-Service ssh-agent ssh-add "$env:USERPROFILE\.ssh\github_ed25519" # Display public key to copy to GitHub Get-Content "$env:USERPROFILE\.ssh\github_ed25519.pub"
After running step 2, the user must add the public key at https://github.com/settings/keys → New SSH key.
powershell# Create or append to SSH config $config = @" Host github.com HostName github.com User git IdentityFile ~/.ssh/github_ed25519 "@ Add-Content "$env:USERPROFILE\.ssh\config" $config # Test SSH connection ssh -T git@github.com
Direct the user to: https://github.com/settings/tokens/new
repo, read:org (for org repos), workflow (for Actions)powershell# Configure git to cache HTTPS credentials git config --global credential.helper wincred # Test — will prompt for username + PAT as password git clone https://github.com/your-org/your-repo.git
powershell# Authenticate gh CLI with a PAT non-interactively $env:GH_TOKEN = "ghp_your_token_here" gh auth status
powershell# Check gh auth gh auth status # Check git remote URL type git remote -v # Test SSH ssh -T git@github.com # Expected: "Hi username! You've successfully authenticated..."
powershell# Show current remote git remote get-url origin # Change to SSH git remote set-url origin git@github.com:owner/repo.git git remote -v # verify
"I'm on a new machine and need to set up GitHub access" → Use step 1 (gh auth login) for the quickest setup. If SSH is preferred, use steps 2–3 then step 1 with SSH option.
"I'm getting Authentication failed when pushing to GitHub" → Use step 6 to diagnose. If HTTPS, rotate the PAT (step 4). If SSH, run ssh -T git@github.com to test.
"Generate a new SSH key and add it to GitHub" → Use steps 2–3 and instruct user to paste the public key at github.com/settings/keys.
gh auth login stores credentials in the system keychain — do not use on untrusted machinesOther measured skills in the registry, with their headline benchmark lift.