fatal: Authentication failed for 'https://github.com/x/y.git/'
HTTPS authentication to the Git host failed — wrong or expired credentials, or a password used where a token is required.
Authentication failed forInvalid username or passwordHTTP Basic: Access denied Meaning
GitHub, GitLab and Bitbucket require personal access tokens (or OAuth via a credential manager) instead of account passwords for HTTPS. Stored credentials may be outdated.
Common causes
- Account password used instead of a token
- Expired/revoked token
- Cached old credentials
- Token missing scopes
⚡ Quick fix
- Create a personal access token and use it as the password
- Clear cached credentials
- Use GitHub CLI: gh auth login
- Switch to SSH
Detailed fix by platform
Git
gh auth login && gh auth setup-git
How to diagnose
- Credential — Token or password?
- Cache — Which credential is stored?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in Git
- unfinished merge fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
- rebase in progress fatal: It seems that there is already a rebase-merge directory, and I wonder if you are in the middle of another rebase.
- kex_exchange_identification kex_exchange_identification: Connection closed by remote host
Other ways to find it
Where this error sits
Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 13 Oct 2026