GitHub - Error cloning private repository
When trying to clone a GitHub repository that's not publicly viewable, jadegit gives an error saying its unable to fetch a commit.

Interestingly, it seems to start off doing what it should. It asks for the user credentials using the configured git manager, and passes them along when doing the initial refs upload-pack query
10/24/25 21:26:14 02fcc-27000 <debug> Sending GET request to https://github.com/<repo url>/info/refs?service=git-upload-pack
10/24/25 21:26:14 02fcc-27000 <trace> Sending request:
GET /<repo url>/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/2.0 (libgit2 1.9.0)
Host: github.com
Accept: */*
Authorization: Basic bWVlY...<snip>
But then it does a second GET request - presumably to fetch the HEAD commit - and fails because it doesn't pass along the auth token.
10/24/25 21:26:15 02fcc-27000 <debug> Sending GET request to https://github.com/<repo url>/info/refs?service=git-upload-pack
10/24/25 21:26:15 02fcc-27000 <debug> Connecting to remote github.com port 443
10/24/25 21:26:15 02fcc-27000 <trace> Sending request:
GET /<repo url>/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/2.0 (libgit2 1.9.0)
Host: github.com
Accept: */*
10/24/25 21:26:16 02fcc-27000 <trace> Received:
HTTP/1.1 401 Unauthorized
Server: GitHub-Babel/3.0
Content-Security-Policy: default-src 'none'; sandbox
Content-Type: text/plain; charset=UTF-8
www-authenticate: Basic realm="GitHub"
Content-Length: 21
Date: Fri, 24 Oct 2025 08:26:16 GMT
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-GitHub-Request-Id: B1F9:2CC01D:9D7A5A:BC3CCE:68FB3827
Repository not found.
10/24/25 21:26:16 02fcc-27000 [ERROR] Failed to fetch commit (6337bd1e453205970fb527b80171c58687e4d8ed)
remote authentication required but no callback set (-16)
Not sure if there is just an additional callback you just need to add, or if its a libgit thing specifically, but raising it for you to look at just in case.
Workarounds available are:
- switching the repo to public, cloning it, then switching it back to private. Pushing/Pulling work fine when repo is private. This is actually more practical than it sounds if providing other devs a pre-initialised copy of a JADE database.
- cloning outside of jadegit and then cloning that folder. Does mean double handling to push things to the remote repo though.