Github "Sign in with browser" open localhost in browser, login fails
Versions
- GitHub Extension for Visual Studio version: v2.11.96
- Visual Studio version: 16.6.0
What happened
Steps to Reproduce
Steps to reproduce the behavior:
- Go to 'Team Explorer'
- Click on 'Connect...' button inside Github panel
- Click on 'Sign in with browser'
- Browser open tab with localhost address
- Connection fails
Expected behavior
Open to a github.com adress
Screenshots

Hi @iozcelik,
I'm sorry you were experiencing this! Did you ever manage to get it to work?
Sign in with browser never worked at my computer.
Note: Adding this comment here to provide more information (as already added into #2509 )
Hi Team,
Even I am facing this issue with GitHub extension with Visual Studio 2019. I have tried the above workarounds (uninstalling/reverting to previous version etc.) but no luck.
I am able to sign-in successfully to GitHub on my browser but through extension, when I click on 'Sign in with your browser' option, it opens the browser with the below URL and it just keeps loading: https://github.com/login/oauth/authorize?client_id=a200baed193bb2088a6e&scope=user%2Crepo%2Cgist%2Cwrite%3Apublic_key%2Cread%3Aorg%2Cworkflow&state=cd3677b8-bf82-4d2d-80c2-71fb3ed7cb63
Below is the error captured from Github Extension log:
2020-08-15 22:29:05.832 [20420] INFO [58] GitHubPackage Initializing GitHub Extension v2.11.104.25275 in Microsoft Visual Studio 2019 (16.6.30114.105) 2020-08-15 22:29:23.860 [20420] EROR [01] LoginTabViewModel Error logging into '"https://github.com/"' as '' Octokit.AuthorizationException: Requires authentication at Octokit.Connection.HandleErrors(IResponse response) at Octokit.Connection.<RunRequest>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.Connection.<Run>d__57
1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<GetUserAndCheckScopes>d__23.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 346 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<ReadUserWithRetry>d__22.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 335 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<LoginViaOAuth>d__14.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 158 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.VisualStudio.ConnectionManager.<LogInViaOAuth>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.ViewModels.Dialog.LoginTabViewModel.<LoginToHostViaOAuth>d__56.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.App\ViewModels\Dialog\LoginTabViewModel.cs:line 173 {"message":"Requires authentication","documentation_url":"https://docs.github.com/rest/reference/users#get-the-authenticated-user"} 2020-08-15 22:31:05.818 [20420] EROR [05] GitHubServiceProvider Error loading GitHub.Services.IConnectionManager System.InvalidOperationException: Due to high risk of deadlock you cannot call GetService from a background thread in an AsyncPackage derived class. You should instead call GetServiceAsync (without calling Result or Wait on the resultant Task object) or switch to the UI thread with the JoinableTaskFactory.SwitchToMainThreadAsync method before calling GetService. at Microsoft.VisualStudio.Shell.AsyncPackage.GetService(Type serviceType) at Microsoft.VisualStudio.Shell.Package.System.IServiceProvider.GetService(Type serviceType) at GitHub.VisualStudio.GitHubServiceProvider.TryGetService(Type serviceType) 2020-08-15 22:34:32.192 [20420] EROR [01] LoginTabViewModel Error logging into '"https://github.com/"' as '' Octokit.AuthorizationException: Requires authentication at Octokit.Connection.HandleErrors(IResponse response) at Octokit.Connection.<RunRequest>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.Connection.<Run>d__571.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<GetUserAndCheckScopes>d__23.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 346 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<ReadUserWithRetry>d__22.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 335 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<LoginViaOAuth>d__14.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 158 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.VisualStudio.ConnectionManager.<LogInViaOAuth>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.ViewModels.Dialog.LoginTabViewModel.<LoginToHostViaOAuth>d__56.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.App\ViewModels\Dialog\LoginTabViewModel.cs:line 173 {"message":"Requires authentication","documentation_url":"https://docs.github.com/rest/reference/users#get-the-authenticated-user"}
@iozcelik @techduggu,
Are you by any chance using a VPN?
@jcansdale I tried and result is same.
@iozcelik,
I tried and result is same.
You tried with and without a VPN?
When I open this issue, I tried without Vpn. After you asked, I tried with it.
@iozcelik,
When I open this issue, I tried without Vpn. After you asked, I tried with it.
That's a shame. 😢
When the page fails to load:

Could you try replacing localhost with 127.0.0.1? Could you also try ping localhost and check that's it's pointing at 127.0.0.1?
Thanks!
Hi @iozcelik,
Another user was able to fix this by launching Visual Studio as Administrator before logging in, see https://github.com/github/VisualStudio/issues/2550#issuecomment-703280956.
Could you give that a try? 🙏
@jcansdale I will try as soon as possible.
It doesn't work for me as well. I tried to run VS19 as an administrator but it doesn't resolve. With/without VPN makes no difference either.
@avatar25 thanks for checking!
Do you know if you've used any apps that run on localhost successfully?
A quick check would to try using my TestDriven.NET extension: https://testdriven.net/download_release.aspx?LicenceType=Personal
After installing the extension, you can right-click inside any method and Run Test(s). If this works, we'll have confirmed that a callback to localhost can work on your machine.
I resolved issue by copying the link
https://github.com/login/oauth/authorize?client_id=a200baed193bb2088a6e&scope=user%2Crepo%2Cgist%2Cwrite%3Apublic_key%2Cread%3Aorg%2Cworkflow&state=710e9410-38be-4566-a024-36fe91e414ad
and opening it in Incognito Mode now i am able to login and load my repositories properly in the visual studio
@dotnetgik interesting, thanks! I wonder why Incognito Mode was required? 🤔
I've faced the same problem with authorization as everyone above. So, I've tried to:
- Run VS2019 as administrator.
- Clean the .git-credentials
- Set my wireless connection as "private"
- Restart computer several times.
- Reinstall GitHub Extension several times.
- Reinstall entire VS2019 several times.
- Copy connection link to Chrome with incognito mode.
- Copy connection link to Firefox and Edge.
Also, I haven't seen if somebody mentioned before but I see in TeamExplorer my local repositories (not all of them, just from one specific folder - C:\Users\User\Source\Repos). However I can not look through or work with any of my remote projects.
So, what should I do to make this extension work?
@KyuuzoT I've just tried to connect via VPN - no result. Then, I've tried to copy authorization link to TOR Browser (yeah, I know it's Firefox) - A window for entering an email and password appeared, after entering my credentials I've received a verification code. But after entering the code I've got the same "localhost refused to connect"-problem.
Lool after I struggled for years.. I have found a Solution to This The course is. First I use my google chrome which I saved my Github account with. So my VS was taking me to Microsoft Edge and get the button disabled.
All you have to do is to change you Default browser on your machine to the one u have signed is with on github
Hi @KyuuzoT,
I'm sorry you've had such a hard time getting this to work!
There was another suggestion here https://github.com/github/VisualStudio/issues/2527#issuecomment-730082783.
- Put this into Chrome address bar:
chrome://net-internals/#hsts - Then go to the bottom and delete
localhostfrom the Delete domain security policies
Might that the the issue?
Hi @KyuuzoT,
I'm sorry you've had such a hard time getting this to work!
There was another suggestion here #2527 (comment).
- Put this into Chrome address bar:
chrome://net-internals/#hsts- Then go to the bottom and delete
localhostfrom the Delete domain security policiesMight that the the issue?
Hi @jcansdale
Yeah, I forgot to mention that I've already done this and still have no result.
Also, I've been testing extension in it's current state on my computer for some time and found out that I could make commits, create branches, pull & fetch etc if I'll find project that fits my remote repo and open it from VS2019 directly. Also I can clone my remote repos via direct link instead of opening them, which is not conveniently, because I do not need several versions of one project in different folders on my local PC (I'm using version management system for this particular reason, right?). So I have functionality of this extension despite the fact that I still got the "unconnected" message and I still can not see any of my remote repos in VS2019 (I see only list of my local repos). What does it mean and how it works this way I have no idea at all.
After update to lastest version the problem is fix for me. Now I can login.
@iozcelik "the latest version" of what? VS or Git extension?
@KyuuzoT "Visual Studio 16.8.2" but now I have lots of different problem :)
@iozcelik Well, I'm facing this problem while being on VS 16.8.2
Hi @KyuuzoT (and anyone else having auth issues),
I've just added a new subcommand set-token to a .NET Core tool called ghvs. This tool contains various GitHub and Visual Studio related subcommands. You can find the PR here:
https://github.com/jcansdale/ghvs/pull/44
Please can you try the following:
- Create a PAT with the following scopes: "user", "repo", "gist", "write:public_key", "read:org", "workflow"
You can use this link https://github.com/settings/tokens
- Install the
ghvstooldotnet tool install -g ghvs --version 1.0.113-g022796defc - Set the GitHub for Visual Studio token
ghvs set-token --secret-store ghfvs <PAT> - Open Visual Studio and
File > Open > Open from GitHub...
If everything went to plan, a list of repositories should appear. 🤞
Please let me know how you get on!
Hi @jcansdale
I've got this message:
Unrecognized command or argument 'set-token'
Did you mean this?
access-token
on step №3. And I don't see neither a command nor the option 'set-token' in ghvs --help.
@KyuuzoT,
Could you check that you installed version 1.0.113-g022796defc (which is the version from jcansdale/ghvs#44)?
$ dotnet tool install -g ghvs --version 1.0.113-g022796defc
You can invoke the tool using the following command: ghvs
Tool 'ghvs' (version '1.0.113-g022796defc') was successfully installed.
The help page should look like this:
$ ghvs --help
Usage: ghvs [options] [command]
Options:
--help Show help information
--host The host URL
--access-token The access token to use
--secret-store The secret store to use (Git or GHfVS)
Commands:
branch Show information about the current branch
install Install 'x-github-client' protocol handler
issues Show issues
login Login using GitHub Credential Manager
logout Logout using GitHub Credential Manager
open Open a file or folder in Visual Studio
open-url Open a GitHub URL in Visual Studio
orgs Show visible organizations (requires 'read:org' scope)
pulls Show pull requests
repos List repositories
set-token Set credentials with a personal access token
uninstall Uninstall 'x-github-client' protocol handler
upstream Show information about the upstream repository
viewer Show viewer information
Run 'ghvs [command] --help' for more information about a command.
@jcansdale for me the fix with ghvs works. Thank you! With azure az login I have same issue, I use az login --use-device-code instead.
I am having the same challenge. The GitHub link shows "This site can't be reached"
Here is my output from ghvs
G:>dotnet tool install -g ghvs --version 1.0.113-g022796defc
Welcome to .NET 5.0!
SDK Version: 5.0.101
Telemetry
The .NET tools collect usage data in order to help us improve your experience. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
Installed an ASP.NET Core HTTPS development certificate. To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). Learn about HTTPS: https://aka.ms/dotnet-https
Write your first app: https://aka.ms/dotnet-hello-world Find out what's new: https://aka.ms/dotnet-whats-new Explore documentation: https://aka.ms/dotnet-docs Report issues and find source on GitHub: https://github.com/dotnet/core Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
You can invoke the tool using the following command: ghvs Tool 'ghvs' (version '1.0.113-g022796defc') was successfully installed.
G:>ghvs set-token --secret-store ghfvs 7679c0d45d2297f4e0b4ec36c213fd017a58827f
Here is a screen shot from the VS Create Git

Hi @chrisdyckgeorgian,
This dialog is actually part of recent Visual Studio versions and isn't installed with GitHub for Visual Studio.
Could you try using the File > Open > Open from GitHub ... command and see if you can login/clone a repository? (this functionality is part of GitHub for Visual Studio)
@jcansdale the same problem occurs. It does bring up the GitHub sign in but when I go to the Sign In with browser option, I get the same error.
