[Bug] Private marketplace clone fails with HTTPS authentication error
Resolved 💬 27 comments Opened Dec 12, 2025 by zekus Closed Jan 26, 2026
💡 Likely answer: A maintainer (whyuan-cc, contributor)
responded on this thread — see the highlighted reply below.
Bug Description
private marketplaces are no longer working. /pluging marketplace add https://github.com/<ORG>/<repo> fails with Error: Failed to clone marketplace repository: HTTPS authentication failed. You may need to configure credentials, or use an SSH URL for GitHub repositories.
Environment Info
- Platform: darwin
- Terminal: ghostty
- Version: 2.0.67
- Feedback ID: 67a99628-2df1-473f-9b9b-9d423b760997
Errors
[{"error":"Error: Failed to clone marketplace repository: HTTPS authentication failed. You may need to configure credentials, or use an SSH URL for GitHub repositories.\n\nOriginal error: Cloning into '<redacted>'...\nfatal: could not read Username for 'https://github.com': terminal prompts disabled\n at K$T (/$bunfs/root/claude:978:151)\n at async _dR (/$bunfs/root/claude:984:1859)\n at async aF (/$bunfs/root/claude:986:601)\n at async <anonymous> (/$bunfs/root/claude:3826:5171)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-12T13:53:45.665Z"},{"error":"Error: Failed to clone marketplace repository: SSH authentication failed. Please ensure your SSH keys are configured for GitHub, or use an HTTPS URL instead.\n\nOriginal error: Cloning into '<redacted>'...\nCould not stat /<redacted>/.ssh: Permission denied\r\nFailed to add the host to the list of known hosts (/<redacted>/.ssh/known_hosts).\r\ngit@github.com: Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n at K$T (/$bunfs/root/claude:978:151)\n at async _dR (/$bunfs/root/claude:984:2324)\n at async aF (/$bunfs/root/claude:986:601)\n at async <anonymous> (/$bunfs/root/claude:3826:5171)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-12T13:53:46.269Z"},{"error":"Error: Failed to clone marketplace repository: SSH authentication failed. Please ensure your SSH keys are configured for GitHub, or use an HTTPS URL instead.\n\nOriginal error: Cloning into '<redacted>'...\nCould not stat <redacted>/.ssh: Permission denied\r\nFailed to add the host to the list of known hosts (/<redacted>/.ssh/known_hosts).\r\ngit@github.com: Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n at K$T (/$bunfs/root/claude:978:151)\n at async _dR (/$bunfs/root/claude:984:2324)\n at async aF (/$bunfs/root/claude:986:601)\n at async <anonymous> (/$bunfs/root/claude:3826:5171)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-12T13:53:46.269Z"},{"error":"Error\n at <anonymous> (/$bunfs/root/claude:46:15227)\n at <anonymous> (/$bunfs/root/claude:60:10246)\n at emitError (node:events:43:23)\n at <anonymous> (/$bunfs/root/claude:59:3466)\n at emitError (node:events:43:23)\n at <anonymous> (node:_http_client:248:22)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:62:2147)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-12T13:53:54.291Z"},{"error":"Error: Failed to clone marketplace repository: HTTPS authentication failed. You may need to configure credentials, or use an SSH URL for GitHub repositories.\n\nOriginal error: Cloning into '/<redacted>/.claude/plugins/marketplaces/temp_1765547676330'...\nfatal: could not read Username for 'https://github.com': terminal prompts disabled\n at K$T (/$bunfs/root/claude:978:151)\n at async _dR (/$bunfs/root/claude:984:2516)\n at async aF (/$bunfs/root/claude:986:601)\n at async <anonymous> (/$bunfs/root/claude:3826:5171)\n at processTicksAndRejections (native:7:39)","timestamp":"2025-12-12T13:54:36.526Z"}]
27 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
+1, we're now seeing this as well
---
Additional observations from local debugging:
Environment context:
ssh -T git@github.comsucceeds in the same terminal sessiongit ls-remote git@github.com:[org]/[repo].gitsucceeds via Claude Code's Bash toolSSH_AUTH_SOCKenvironment variable is presentLocal version history (from debug logs):
| Date | Version | Observation |
|------------|---------|------------------------------------------------------------------|
| 2025-11-18 | 2.0.43 | Private marketplace add succeeded |
| 2025-12-09 | 2.0.62 | Plugin cache refresh from private marketplace succeeded |
| 2025-12-12 | 2.0.67 | SSH fails, HTTPS fallback fails with "terminal prompts disabled" |
Workaround:
Add new private marketplace (manual clone, then register)
Update existing marketplace
Update installed plugin (works after marketplace is updated)
If plugin update fails with "not found", reinstall to fix corrupted metadata
<details>
Claude Code separates marketplaces from installed plugins:
~/.claude/plugins/
├── marketplaces/<name>/ # git repos containing plugin manifests (registry)
├── cache/<marketplace>/<plugin>/<version>/ # installed plugin files
└── installed_plugins.json # tracks installed versions + metadata
git pullupdates the marketplace (the catalog of available plugins and versions), but doesn't touch the installed plugin in the cache. Runningclaude plugin updateafterward:installed_plugins.jsonAnalogous to
apt update(refresh index) vsapt upgrade(install updates).</details>
Also bitten by this. Connecting over https protocol with git credential caching enabled and never had an issue until now. Will try downgrading back to 2.0.62 as it seems like .63 must be where the issue was introduced.
I would say this ticket and #13553 are definitely duplicates though.
Same problem, using git with https protocol.
It suddenly stopped working few days ago.
Agreed. Chiming back in to confirm that this is definitively still a problem on
2.0.71.Also that the opacity here sucks. And that immediately breaking what is probably the most valuable and interesting feature for small teams like mine after pushing everyone to adopt it is a real suckerpunch move.
Same issue here as well, HTTPS fails within claude while works as a expected from the shell.
I used a script to capture the arguments Claude is sending to
gitwhen it does the clone:The
-c credential.helper=is the smoking gun here. This is clearly wrong, as it disables the use of credential helpers, so private HTTPS marketplaces just won't work.It can work as SSH it appears, which might be OK _if you are able to use SSH_.
However, the override of the SSH command will be problematic in other environments too.
Overall, these commands are basically broken for many common installation types.
Workaround
Create the following script, make it executable, and put it in your path ahead of the main
gitexecutable.Make sure the final line points to your "real"
gitexecutable (trywhich -a gitto see an ordered list of what's in your path currently).any update on this issue ?
Is there a reason why this seems to have been ignored? This seems like the most obvious way to share private marketplaces yet its been broken for over a month now. I'm wondering if we're supposed to use a different method to share marketplaces and not use git.
@lophil Maybe there were security implications to letting claude implicitly access the credential helper via git commands? Hard to tell but i agree that there should be some communication at the very least and a solution provided. Seems like they are perfectly fine with public marketplaces and don't care as much about private ones.
Yep. If there is a better way to share private marketplaces I am all ears but I have not see any communication on this. As of today the official documentation still suggests pointing to a git repo for a marketplace
@lophil it is extremely rare for Anthropic staff to respond on here. I suggest you contact support through the claude.ai interface instead. I did that for one ticket and did get an actual response after several days.
Hi - thanks for flagging, I'm on the Anthropic team and we'll look into this!
Hi all - can you please check out https://code.claude.com/docs/en/plugin-marketplaces#private-repositories
Let me know if this addresses your issues. Sorry we didn't publicize this (hopeful) fix here.
In the meantime, I'm going to look into seeing if we can use a user's available credentials so that we don't require this extra step
Using access token may be a bit of a nuisance depending on how GitHub corporate setup (length of time-to-live, having to request/wait for approval etc). I think I prefer currently just pulling the repo with cli git and pointing to the local directory for the marketplace installation (I'd hope there'd be an option to do this - I mean the agent can use CLI git for pull, so not sure why this wouldn't be available for marketplace updates). Perhaps I'll do some sort of automation (hook, maybe) or aliasing to get the repo pulled automatically.
Writing this mainly to say that I hope there would be a solution with less friction.
(I did not test the proposed solution, good that there is one, of course)
Yeah, i agree with @kbjorklid , although its good that there is a way to do it, its definitely a much higher friction solution. Asking all users within our org to generate long lived tokens instead of just relying on the existing credential chain they use for cloning other org repos is not ideal.
Completely agree - I've added to our list to fix and will update here when fully addressed! For now, let's use this: https://code.claude.com/docs/en/plugin-marketplaces#private-repositories and hoping to have a lower-friction solution soon.
@noahzweben sorry if I'm missing something, but how would setting
GITHUB_TOKENorGH_TOKENwork? Since CC invokesgitwithout any credential helper, what's expected to consume either of these env vars and make things work?FTR, this is still broken in
v2.1.12, even when$GITHUB_TOKENis set in the environment.me too
mee to
The only way that works for me is using this pattern: ``
https://username:PAT@full_path_to_repo.git``it worked for me when i add the repo interactively via the claude code terminal app. I simply pasted the SSH config
git@github.com:rafaelkallis/my-claude-plugins.git.it is known to work for ssh based auth, just not http based
The public release 2.1.19 has a fix for reusing existing credentials for cloning private marketplace. Please reopen the issue and let us know if it does not work.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.