[BUG] Marketplace add fails when cloning via Github Slug/ SSH. No issue with HTTPS

Open 💬 31 comments Opened Oct 17, 2025 by Kamalnrf

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Running ‎/plugin marketplace add owner/repo fails when the CLI tries to clone the marketplace via SSH. Using a direct SSH URL (‎git@github.com:owner/repo.git) also fails. Cloning via HTTPS works and installation succeeds. The CLI attempts to clone into ‎~/.claude/plugins/marketplaces/... and throws “Failed to clone marketplace repository”.

What Should Happen?

Adding a marketplace should succeed with either:
• GitHub slug: ‎owner/repo
• Direct SSH URL: ‎git@github.com:owner/repo.git

Error Messages/Logs

Slug form:
[ERROR] Error: Error: Failed to clone marketplace repository: Cloning into ‘/Users/kamal/.claude/plugins/marketplaces/anthropics-claude-code’…
at jg1 (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1288:114)
at async qO0 (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1294:1278)
at async Wi (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1296:379)
at async C (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:3121:6460)

SSH URL form:
[ERROR] Error: Error: Failed to clone marketplace repository: Cloning into ‘/Users/kamal/.claude/plugins/marketplaces/temp_1760687618398’…
at jg1 (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1288:114)
at async qO0 (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1294:1860)
at async Wi (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:1296:379)
at async C (file:///Users/kamal/n/lib/node_modules/@anthropic-ai/claude-code/cli.js:3121:6460)

HTTPS:
No error. Cloning marketplace goes through.

Steps to Reproduce

Add a marketplace with Github repo slug:
/plugin marketplace add anthropics/claude-code

Add a marketplace with SSH URL:
/plugin marketplace add git@github.com:anthropics/claude-code.git

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.0.21

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No issue with HTTPs cloning.

View original on GitHub ↗

31 Comments

abdul · 9 months ago

I am also facing this on macos with claude-code-v2.0.21;

Rigos0 · 9 months ago

same issue here. To go around the issue (add the marketplace manually)

> claude > /plugins > 3. Add a marketplace > https://github.com/anthropics/skills.git > Install

Enjoy!

zhiyanliu · 8 months ago

Same

abdul · 8 months ago

@Rigos0 Thanks, it did work but after I tried several times -- where I got different errors, sometimes it was EOF, other time it was clone was successful but checkout failed. Eventually it worked for skills.git.

I am now trying to add anthropics/claude-code.git (using ssh, or https url), I keep getting same error:

https://github.com/anthropics/claude-code.git
│ │
│ Failed to clone marketplace repository: Cloning into '/Users/xxx/.claude/plugins/marketplaces/temp_1761388841944'...

It doesn't work for this plugin.

dkmaker · 8 months ago

It seems like the issue is when you use SSH agent or similar - we use git with ssh agent that runs via 1Password - so the SSH agent is added with the use of the Windows SSH mapping in the git config

[core]
sshCommand = /mnt/c/Windows/System32/OpenSSH/ssh.exe

It works perfect all other areas - but claude code does not respect it it says no access, but if i add a ssh-keygen into my ssh folder it works perfect with the key that is generated in .ssh folder

So - it seems like it have a embeded git version and does not actually use the systems git implementation but uses a embeded git that does not support or acknowldge this?

Can you @zhiyanliu and @Rigos0 or @abdul confirm this? If you are using normal ssh keygen or?

zhiyanliu · 8 months ago

My SSH config does not have the condition you mentioned. Thanks for your additional inputs. @dkmaker

dkmaker · 8 months ago
My SSH config does not have the condition you mentioned. Thanks for your additional inputs. @dkmaker

If i run a term in VSCode via WSL - and i have IDE integration on Claude Code VSCode prompts for the username and then it works - its ONLY in terminal or ssh it breaks

If i have a SSH key generated and stored and added to my github account then it works if its plain no password

So it seems like there is a combination that have to be satisfied - would love to know what git/ssh combination they use if its the OS or if its embeded - my theory is they (Claude code) use a embeded Git/SSH library of some sort?

Also no matter what claude code crashes when it promtps for the username so im fully stuck when i want to authenticate only works when run from VSCode attached to my WSL Session

github-actions[bot] · 7 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

cookiejoo · 7 months ago

another solution:
1、download your my-plugins.git folder to <your addr>/.claude/plugins/marketplaces/my-plugins
2、add in your settings.json

"extraKnownMarketplaces": {
    "my-plugins": {
      "source": {
        "source": "directory",
        "path": "<your addr>/.claude/plugins/marketplaces/my-plugins"
      }
    }
  },

<img width="2306" height="1134" alt="Image" src="https://github.com/user-attachments/assets/f3b12ebd-adb6-4b2a-a73e-e15be19069c2" />

sanjorcool · 7 months ago

This problem reappeared today when I was automatically upgraded to version 2.0.64. It returned to normal when I reverted to version 2.0.62.

<img width="892" height="481" alt="Image" src="https://github.com/user-attachments/assets/ec8028af-6d6c-47fb-894a-ad7a1ad1f68e" />

<img width="895" height="600" alt="Image" src="https://github.com/user-attachments/assets/720bad65-f7f2-408a-80c3-f082e54a092e" />

b0dea · 7 months ago
This problem reappeared today when I was automatically upgraded to version 2.0.64. It returned to normal when I reverted to version 2.0.62. <img alt="Image" width="892" height="481" src="https://private-user-images.githubusercontent.com/25917239/524804066-ec8028af-6d6c-47fb-894a-ad7a1ad1f68e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjUzNjkzNzEsIm5iZiI6MTc2NTM2OTA3MSwicGF0aCI6Ii8yNTkxNzIzOS81MjQ4MDQwNjYtZWM4MDI4YWYtNmQ2Yy00N2ZiLTg5NGEtYWQ3YTFhZDFmNjhlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMjEwVDEyMTc1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVkNjRhMTBiZDQ3NTU2MGMwMzY1NzFhZjVmMWJmOGQ0MzZiMmJhYjMzYzE0OTNmYjVlODM5ZmNhMGEwZTE2ZmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8JB5U6-P2y1XaS0Jrxoo6dX4Gmz3mgFh8mwzgTj5z6A"> <img alt="Image" width="895" height="600" src="https://private-user-images.githubusercontent.com/25917239/524804758-720bad65-f7f2-408a-80c3-f082e54a092e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjUzNjkzNzEsIm5iZiI6MTc2NTM2OTA3MSwicGF0aCI6Ii8yNTkxNzIzOS81MjQ4MDQ3NTgtNzIwYmFkNjUtZjdmMi00MDhhLTgwYzMtZjA4MmU1NGEwOTJlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMjEwVDEyMTc1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVlMjE2NTYyYjhlMzU1N2Q3ZjhiOGVmODQ4OWMyMGYwYWQxYTg1ZTA0MThiYWFlMzAxMDY4MDM2Y2EwNDI5YjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dukZxaJHZvkpP92HpJyzhr2Kl0rJXGXnROE52o1JF4E">

I can confirm this happens to me also.

sanjorcool · 7 months ago
> This problem reappeared today when I was automatically upgraded to version 2.0.64. It returned to normal when I reverted to version 2.0.62. > <img alt="Image" width="892" height="481" src="https://private-user-images.githubusercontent.com/25917239/524804066-ec8028af-6d6c-47fb-894a-ad7a1ad1f68e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjUzNjkzNzEsIm5iZiI6MTc2NTM2OTA3MSwicGF0aCI6Ii8yNTkxNzIzOS81MjQ4MDQwNjYtZWM4MDI4YWYtNmQ2Yy00N2ZiLTg5NGEtYWQ3YTFhZDFmNjhlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMjEwVDEyMTc1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVkNjRhMTBiZDQ3NTU2MGMwMzY1NzFhZjVmMWJmOGQ0MzZiMmJhYjMzYzE0OTNmYjVlODM5ZmNhMGEwZTE2ZmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8JB5U6-P2y1XaS0Jrxoo6dX4Gmz3mgFh8mwzgTj5z6A"> <img alt="Image" width="895" height="600" src="https://private-user-images.githubusercontent.com/25917239/524804758-720bad65-f7f2-408a-80c3-f082e54a092e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjUzNjkzNzEsIm5iZiI6MTc2NTM2OTA3MSwicGF0aCI6Ii8yNTkxNzIzOS81MjQ4MDQ3NTgtNzIwYmFkNjUtZjdmMi00MDhhLTgwYzMtZjA4MmU1NGEwOTJlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTEyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMjEwVDEyMTc1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVlMjE2NTYyYjhlMzU1N2Q3ZjhiOGVmODQ4OWMyMGYwYWQxYTg1ZTA0MThiYWFlMzAxMDY4MDM2Y2EwNDI5YjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dukZxaJHZvkpP92HpJyzhr2Kl0rJXGXnROE52o1JF4E"> I can confirm this happens to me also.

I'm currently fixing the version to 2.0.62 by changing the environment variable DISABLE_AUTOUPDATER = 1. Hopefully, this will completely resolve the issue later.

b0dea · 7 months ago

Can we get an update on this one please @dhollman? I keep having to downgrade back to 2.0.62

Thank you

cookiejoo · 7 months ago

This issue is that after version 2.0.62, only public plugin repositories can be used and private repositories are not allowed.
But I remember when I installed the private plugin repository before, a password box popped up and I didn't know where it was stored after entering it. I guess the problem with HTTPS is that the verification failed because the user and password data could not be obtained...

kostyay · 7 months ago

Same problem with private repos

b0dea · 7 months ago

No updates? It blocks me using any new version when i want to use a private set of custom plugins (private repo)

jztan · 7 months ago

Hit this too on macOS (Darwin 25.1.0) with Claude Code 2.0.71.

Failed to load marketplace 'claude-skills': Failed to clone marketplace repository: HTTPS authentication failed.
You may need to configure credentials, or use an SSH URL for GitHub repositories.
fatal: could not read Username for 'https://github.com': terminal prompts disabled

Interestingly, the error shows up just by running /plugin - looks like it tries to load the default claude-skills marketplace automatically and fails there.

yeroc · 7 months ago

I've been told by Anthropic support that this issue may be fixed by the end of the week. At least they're working on it. 🤞

cookiejoo · 7 months ago
I've been told by Anthropic support that this issue may be fixed by the end of the week. At least they're working on it. 🤞

I'm looking forward to it

brandon-fryslie · 6 months ago

Cloning via https fails for me as well (tried both with .git at the end and without). Workaround:

claude plugin marketplace add https://raw.githubusercontent.com/anthropics/skills/refs/heads/main/.claude-plugin/marketplace.json
Wolfe-Jam · 6 months ago

Had the same issue — spent some time debugging it.

TL;DR: It's using SSH instead of HTTPS for public repos.

Quick diagnosis:
# Check what protocol your official marketplace uses:
git -C ~/.claude/plugins/marketplaces/claude-plugins-official remote -v

# You'll see HTTPS (works):
# origin https://github.com/anthropics/claude-plugins-official.git

Workaround that works:
# Manual HTTPS clone
git clone https://github.com/owner/repo.git ~/.claude/plugins/marketplaces/owner-repo

The fix (if anyone's looking at the code):

  • const repoUrl = git@github.com:${owner}/${repo}.git;
  • const repoUrl = https://github.com/${owner}/${repo}.git;

Hope this helps someone!

Wolfe-Jam · 6 months ago

Nice! Glad the diagnosis helped. Thanks @ai-cora for the quick fix 🏎️
nice end to 2025! ✨

kostyay · 6 months ago

Crazy this hadn't been fixed for weeks now.

midgen · 6 months ago

any progress?

Downgrading to 2.0.62 functions as workaround, so something has been broken since then.

sanjorcool · 6 months ago

Temporary Solution

If you encounter an issue with cloning the Marketplace via SSH or HTTPS, you can try entering the Marketplace address using the proxy address mode. For private repositories, it is recommended to use a Git token as the password.

For example:

http://admin:git_token@custom-git.com/xxx.git

Please replace git_token with your actual Git token.

This method applies to private repository addresses and can be used as a temporary solution.

Patrick0308 · 6 months ago

Please fix this issue. I’m encountering the same problem when adding a marketplace:

claude plugin marketplace add https://gitlab.mycompany.com/lb-public/claude-plugins.git

It fails with:
fatal: could not read Username for ‘https://gitlab.mycompany.com’: terminal prompts disabled

Environment: macOS, Claude 2.1.1.

The SSH URL also fails. It appears that Claude’s built-in Git/SSH does not support interactive authentication.

sanjorcool · 6 months ago
Please fix this issue. I’m encountering the same problem when adding a marketplace: claude plugin marketplace add https://gitlab.mycompany.com/lb-public/claude-plugins.git It fails with: fatal: could not read Username for ‘https://gitlab.mycompany.com’: terminal prompts disabled Environment: macOS, Claude 2.1.1. The SSH URL also fails. It appears that Claude’s built-in Git/SSH does not support interactive authentication.

[BUG] Marketplace add fails when cloning via Github Slug/ SSH. No issue with HTTPS

Problem Overview:

When cloning a GitHub repository as a plugin marketplace using SSH or HTTPS, the command-line tool fails to clone successfully. Cloning via HTTPS does not have this issue.

Solution:

The following format can be used to correctly add the Marketplace:

https://userid:password@gitlab.mycompany.com/lb-public/claude-plugins.git

If you find it inconvenient to expose the password, you can switch to using a Git token:


https://userid:gitToken@gitlab.mycompany.com/lb-public/claude-plugins.git

Git tokens can be obtained from GitLab for personal tokens.

Scope of Impact:

This issue affects macOS users with Claude Code 2.0.21 or higher.

Temporary Solution:

If you encounter cloning issues, you can try using the proxy address mode and using the Git token as the password. For example:

http://admin:git_token@custom-git.com/xxx.git

Please replace git_token with your actual Git token.

Note:
This method applies to private repository addresses and can be used as a temporary solution. wish fixing this issue as soon as possible so that users can use the SSH and HTTPS clone plugins in the marketplace normally.

charphob · 6 months ago

Getting the same issue, v2.1.6, macos, using private corp github instance:

https://github.corp/org/marketplace-repo.git
Failed to clone marketplace repository: HTTPS authentication failed. You may need to configure credentials, or use an SSH URL for GitHub repositories.
Original error: Cloning into '/Users/<user>/.claude/plugins/marketplaces/temp_1768287579819'
fatal: could not read Username for 'https://github.corp': terminal prompts disabled

My git is setup with GCM/OSXK and claude code can access the repo just fine using bash+git.

midgen · 5 months ago

Still having to downgrade to 2.0.62 to configure a private GitHub marketplace

chris-peterson · 3 months ago

Just hit this limitation; here's a workaround

git config --global url."git@yourgitlab.com:".insteadOf "https://yourgitlab.com/"

i.e. list https for your plugin url, but when installing (by way of git), it'll seamlessly convert JIT

I'd still love to see this get addressed, but wanted to share what is a reasonable workaround (as I don't mind this config in general as why would I ever want https over ssh)

ironbelly · 1 month ago

I know this is closed but leaving this here for future people using github instead of gitlb

git config --global --show-origin --get-regexp '^url\.' || true
git config --global url."https://github.com/".insteadOf "git@github.com:"

Verify Git now rewrites the exact failing clone target to HTTPS.
GIT_TRACE=1 git ls-remote git@github.com:danielrosehill/Claude-Sysadmin-Homelab-Plugin.git HEAD