Error 400 when cloning TFS Git repo using Visual Studio 2017 Error 400 when cloning TFS Git repo using Visual Studio 2017 git git

Error 400 when cloning TFS Git repo using Visual Studio 2017


UPDATE: It does appear that Microsoft has fixed this issue in an update to Visual Studio 2017. Most likely, Update 3 as mentioned in comment below. If you're not using at least Update 3, this answer may pertain to you still, as people were reporting this issue even with version 15.8.5.


This is primarily because Visual Studio 2017 is mishandling spaces in the Team Project Collection name. It does not encode them to use %20 for spaces. Here's steps to work around.

Click Cancel button to close the "Connect to a Project" window.

In Team Explorer, underneath the Clone Repository section, notice how the top box does have spaces in the URL. Cancel the clone by clicking the Cancel link. Do this, because you'll find that you cannot edit the Clone Repository inputs.

enter image description here

Then, click the Clone Repository link in the Project section of the Team Explorer window.

enter image description here

You'll notice the Clone Repository section will reappear, but now will not be editable. Notice that the first/top input box has replaced any spaces in the URL with %20. Ensure that you're second box, which maps a local path to download your source to, is accurate. Click Clone button, and it should work.

enter image description here


I can confirm it is still (or again) broken in version 15.8.1.

But I found another workaround:

  • use a browser to navigate to the 'Code' repository in vsts
  • click on the 'Clone' button (icon)
  • select IDE 'Clone in Visual Studio'
  • allow the link to open VS 2017 and it will pass along the correct url encoded location

enter image description here


I encoutered this issue again now, year after fix was released, in VS 15.6.6. Enterprise. When trying to connect to a project with space in the name, VS kept messing up the URL and therefore didn't find the project.

Steve Kennedy's solution is no longer possible - MS actually fixed that \O/.

In the end I copied complete working project from a collegue so that I'd get configs with correct URL. Everything worked fine.

Just so you know, there is this solution as well.