67

I'm trying to push, pull, and whatever to my GitHub repository from Visual Studio Code.

I enter my username and password, but I'm getting the error:

Authentication failed on the git remote.

I just logged in on github.com with the same user/password. I tried creating a personal access token, using it as a password, but I got the same error.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
joakim
  • 1,612
  • 1
  • 14
  • 23
  • try to commit from command line and see if it works or not. If it does, then your VSCode settings might have issues. – Arunav Sanyal Sep 17 '15 at 20:30
  • Not sure how to use the command line. It's a fresh installation of VSCode and Git. I'm able to use the GitHub official windows client. – joakim Sep 17 '15 at 21:04
  • Download a client like Git Bash first. Use that as a replacement. Check out the git bash column in https://git-for-windows.github.io/. This would allow you to run this command : git push origin master – Arunav Sanyal Sep 17 '15 at 21:09
  • `git push origin master` from command line works fine. I allowed VSCode in Windows firewall. I'm not behind a proxy. Still it won't work. – joakim Sep 17 '15 at 23:00
  • 1
    Same here. Credentials work with command line, but not with VS Code. – Prabhu Dec 03 '15 at 16:34
  • If you are here from a search engine (e.g., matching "fatal authentication failed push GitHub repository") looking for a solution to the problems after the ***[Visual Studio Code](https://en.wikipedia.org/wiki/Visual_Studio_Code) update in November 2021*** (to version 1.62.2), then the candidate for the canonical question for that particular problem is *[Fix for "fatal: Authentication failed for"](https://stackoverflow.com/questions/69979522/)* (despite the unspecific title). – Peter Mortensen Nov 19 '21 at 23:52

9 Answers9

79

I believe I have found a solution to this problem. None of the solutions above worked for me. I think the root cause of this issue is that GitHub has ended support for password authentication on August 13, 2021. Instead a personal access token needs to be used.

The steps to solve this issue are as follows:

  1. Create a personal access token on GitHub.com. Tutorial here
  2. Go back to Visual Studio Code and open terminal. Type in the following command with your own user information:
git remote set-url origin https://<TOKEN>@github.com/<user_name or organization_name>/<repo_name>.git

In case you would like to follow a video guide, this one proved to be quite helpful.

Meena Chaudhary
  • 9,909
  • 16
  • 60
  • 94
aleksejjj
  • 1,405
  • 2
  • 18
  • 28
60

I solved it by following Caching your GitHub password in Git.

The steps are as follows:

  1. Download and install Git for Windows
  2. Run Git Bash, 'cd' to the repository directory and enter git config --global credential.helper wincred
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
joakim
  • 1,612
  • 1
  • 14
  • 23
4

It happened to me after GitHub changed its policy on 13 August 2021 to authenticate using a personal access token (PAT) instead of a password.

I did these steps for myself. I am on Lubuntu 20.04.

  1. Created .gitconfig in my home directory and added the following

    [user]
       name = {your github username}
       email = {your email}
    [credential]
       helper = store --file ~/.git-credentials
    
  2. Created .git-credentials in my home directory as you can see above and added the following

    https://{your github username}:{your github PAT}@github.com
    
  3. Final step: Restart your terminal and voilà! Try to commit/push/pull in an existing Visual Studio Code Git folder and everything will work as before.

Security Issue

Your personal access token (PAT) will be exposed as clear ASCII text and can be read if anyone has access to your user account.

Uday
  • 91
  • 7
2

I had the same issue with my Visual Studio Code on Linux cloning a Visual Studio Git repository.

It was Solved by setting up the Alternate Authentication Settings under security settings on {your-account}.visualstudio.com

Screenshot:

See the screenshot

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
ADM-IT
  • 3,719
  • 1
  • 25
  • 26
1

Git stopped using account password for code push, instead generate 'personal access token' from git account and use the same as password for code push. It absolutely worked for me to resolve this error.

Note : Git doesn't store 'personal access token', so copy it in your file/machine for future/multiple use.

Jyo the Whiff
  • 829
  • 9
  • 23
0

Configure VS Code Github authentication using Github CLI, gh.

  1. Download and install gh here
  2. After installation, open vs code terminal and login to github with gh auth login
  3. You'll be prompted to choose an authentication method. Available authentication methods are password and personal access token. I'd recommend using a personal access token because your authentication details will be stored in plain text on your local machine. Here is a tutorial on creating a personal access token. You can then generate a personal access token here. Ensure your personal access token have the minimum required scopes repo, read:org, workflow
  4. Paste your personal access token and gh will handle the rest.

If you've gone through the above steps before but your personal access token has expired, you can simply generate another personal access token and paste inside the /home/<user>/.config/gh/hosts.yml file. Note that this file path is for linux/MAC users. Windows users should be able to locate similar path in their filesystem.

Ercross
  • 519
  • 6
  • 17
0

In case of using VSCode git graph's buttons that result in message error like this: Unauthorized fatal: Authentication failed ... unable to fetch from remote(s)

This worked for me:

  1. git remote set-url origin "<the git you want to clone/pull/fetch>.git"
  2. Enter your email & password in VSCode pop-ups
  3. Now you can use git graph or cmd normally again
wimblywombly
  • 71
  • 1
  • 7
-1

git remote set-url origin https://USUARIO:SENHA@bitbucket.org/URL.git

worked for me!

  • 4
    This has already been mentioned in the other answers. *When answering older questions that already have answers, please make sure you provide either a novel solution or a significantly better explanation than existing answers.* – Eric Aya Nov 19 '21 at 16:41
-1

I faced a similar problem. I was coding in vs code. So, I just tried another terminal to push my code and it works for me!!

  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Dec 02 '22 at 13:22