[BUG] Cowork Can't add private GitHub marketplace

Status Open
Reported on v2.1.37
Maintainer reply None cached
Activity 38 comments · opened Feb 24, 2026

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?

Using Claude Desktop client on Mac. When trying to add private GitHub Plugin marketplace to Cowork it gives error: Could not connect to the marketplace host. Check the URL and your network connection.

I can add the same marketplace to Claude Code from Desktop client.

What Should Happen?

I should be able to add the private GitHub marketplace repository to Cowork just like I add it to Claude Code.

Error Messages/Logs

Could not connect to the marketplace host. Check the URL and your network connection.

Steps to Reproduce

  1. Open Claude Desktop client
  2. Add Private GitHub marketplace to Cowork
  3. Get error: Could not connect to the marketplace host. Check the URL and your network connection.

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.37

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

<img width="987" height="662" alt="Image" src="https://github.com/user-attachments/assets/2305da7b-5620-478b-8dac-4f41ff7de97b" />

View original on GitHub ↗

38 Comments

teodimache · 6 months ago

can confirm that this happens on Windows too

Cp557 · 5 months ago

I am getting the same error.

skray · 5 months ago

I am seeing this as well - I can add the plugin from a private Github repository to Claude Code desktop but not to Cowork or Chat.

Looking at the logs, this appears to be an issue with Chat/Cowork's access to git ssh keys. My SSH key is set up and worked for Claude Code Desktop, but not Cowork -

<img width="1491" height="586" alt="Image" src="https://github.com/user-attachments/assets/335e5989-9ca9-4bcc-881c-55aefb62e624" />

Satak · 5 months ago

This was partially solved by the preview feature where you can add organization plugin marketplaces which can connect to private GitHub marketplace.

patrickplaggenborg · 5 months ago

I have the same issue. It worked fine before, also for market places on a private repository. The private github marketplace I added before is also gone now from the macOS desktop app and I cannot re-add it.

(For Claude Code itself it does still work)

Handwine · 5 months ago

This is a crucial issue for us, please adress it. We need to be able to add the plugin that connects to our Private repo. Thanks!

jsmith212 · 5 months ago

Can confirm this is still broken and still frustrating. It's pretty much shut down our ability to use skills and custom MCP servers we've built. @alexalbertt can you help here?

ronsrebro · 5 months ago

How can we get anybody on the team to notice this? It looks like it didn't even go through triage.

andreafalzetti · 5 months ago

Same problem

Handwine · 5 months ago

Can we add that this is the same issue on the Windows as well?

And is there any way to escalate this? It is crucial.

dansal-Jxs · 5 months ago

I have the same issue.

twentworth12 · 5 months ago

Same!

alexeynikityuk · 5 months ago

havign the same issue

eagb-it · 4 months ago

Reproducing on Windows 11 (Store app, v1.569.0.0)
Same issue on Windows 11, confirming this is not macOS-specific.
Environment:

OS: Windows 11 Pro
Claude Desktop: v1.569.0.0 (Microsoft Store, Claude_pzs8sxrjxfjjc)
Claude Code CLI: v2.1.87

Behavior:

claude plugin validate . → passes all validations ✅
CLI (claude plugin marketplace add eagbtech/eagb-plugins) → syncs correctly ✅
Cowork Desktop → failed_content server-side consistently ❌

Relevant log from main.log:
[remoteMarketplaceClient] createAccountMarketplace source=https://github.com/eagbtech/eagb-plugins kind=github
[remoteMarketplaceClient] pollSyncUntilDone timed out after 30000ms with transient status=unspecified
[remoteMarketplaceClient] syncAccountMarketplace.failed status=429 body={"error":{"type":"rate_limit_error","error_code":"marketplace_sync_cooldown"}}
[remoteMarketplaceClient] pollSyncUntilDone settled with status=failed_content
Marketplace config:

Private GitHub repo
Source type: github with repo field (confirmed correct per official docs)
claude plugin validate . passes clean on all 3 plugins and marketplace manifest

Notes:

Cleared ~/.claude/plugins/cache and ~/.claude/plugins/marketplaces — issue persists
Removed and re-added marketplace multiple times — same result
The failed_content status comes from the Anthropic backend, not local validation
CLI uses local git clone path; Cowork uses remoteMarketplaceClient against Anthropic backend — the two code paths behave differently for private repos

RobJacksonIII · 4 months ago

I have the Same issue

Handwine · 4 months ago

Why is this not in the triage yet? Should we submit it again? How do we get Anthropic officials to look at it?

tomrantala · 4 months ago

Confirming this still reproduces. I ran through every troubleshooting step in the https://code.claude.com/docs/en/plugin-marketplaces#private-repository-authentication-fails and the bug is isolated to Cowork — CLI works perfectly.

Setup:

  • Private repo in a GitHub org that I own/admin
  • Claude GitHub App installed on the org, the repo explicitly added to the app's repository allowlist
  • GitHub connector shows as connected in Claude Desktop
  • gh auth status ✓ with repo scope
  • GITHUB_TOKEN set both in ~/.zshrc and ~/.claude/settings.json env block
  • gh auth setup-git configured → credential.https://github.com.helper = !gh auth git-credential
  • Manual git clone of the private repo works
  • GitHub API call to the repo endpoint with the token returns HTTP 200

What works (CLI):
claude plugin marketplace add <owner>/<repo>
claude plugin install <plugin>@<marketplace>
Clones via SSH, validates, installs cleanly. Plugin works in terminal sessions.

What fails (Cowork UI):
Same marketplace added through Cowork UI in Claude Desktop:

▎ Plugins failed validation — 1 plugins found, 1 failed validation
▎ <plugin> — Repository not found on github.com. Check the URL and make sure the repository is public.

This strongly suggests Cowork's validation runs server-side and doesn't use the local git credentials or GITHUB_TOKEN from settings.json. The GitHub App allowlist also doesn't appear to be consulted on that path.

Environment:

  • Claude Desktop (Cowork mode) — macOS 14.6
  • Claude Code version: 2.1.112

Any update on the status would be appreciated — this blocks all org-internal plugin distribution through Cowork. The CLI workaround works but leaves teammates unable to install without terminal tooling.

alexeynikityuk · 4 months ago

Second @tomrantala - we are facing exactly the same issue and similarly it blocks the roll out of company wide plugin marketplace with skills.

shelman09 · 4 months ago

+1 on macOS, Claude Desktop. Adding evidence that the marketplace fetcher does not share auth with the GitHub Integration connector, even when access has been explicitly granted at the GitHub App level:

  • Repo: Namleh-Studios/namleh-plugins (private, org-owned)
  • Claude GitHub App installed on Namleh-Studios with repository_selection: "selected"
  • namleh-plugins is the only repo on that selected list
  • Tried both Namleh-Studios/namleh-plugins and https://github.com/Namleh-Studios/namleh-plugins.git
  • Error: "Failed to add marketplace." (slight wording change from the OP's "Could not connect to the marketplace host" — possibly refactored since Feb)

For comparison: the public sponticelli/gamedev-claude-plugins adds without issue, so this isn't a schema or layout problem.

Workaround for any team with shared internal plugins is currently "upload each plugin as its own .zip via Customize → Upload local plugin," which is one-plugin-at-a-time with no marketplace bundle support — unworkable for any update cadence above zero.

Proposed fix direction (already requested in #49694): have the marketplace fetcher reuse the GitHub Integration connector's authentication, or honor gh auth / GITHUB_TOKEN. Either would unblock all the explicitly-granted-app cases like this one.

lukeojones · 4 months ago

Ugh, this is a bad one. Really holds back org-wide adoption when we have to resort to zip uploads and so on.

njogued · 3 months ago

Confirming that this is still not fixed. Attempting to install plugins from private repos fails.

bendavis78 · 3 months ago

If you're on a team/enterprise account you can go to "profile icon -> Get help" and explain your use case to Fin AI Agent. Ask the agent to document the use case so it can be shared w/ the Anthropic team.

sethchandler · 3 months ago

Incredibly annoying that this is still failing on Mac on most though not all GitHub marketplaces. Makes it extremely difficult to get my work done. Truly shocked that Anthropics is letting this persist. The big Claude-for-Legal architecture can not be used by lawyers.

via-estafette · 2 months ago

I thought all their code is written by claude, should be a piece of cake for claude to to fix this, no ?

ecgrnr · 2 months ago

Have the same issue here but using gitlab and the glab auth git-credential ssh connectivity on MacOS and claude desktop.

Using the git+ssh connection:

<img width="735" height="365" alt="Image" src="https://github.com/user-attachments/assets/d3689a32-9635-4e0e-a942-618822e67fa3" />

Luttik · 2 months ago

Regrettably, this is still an issue 3 months in.

releve068 · 2 months ago

Adding a production-impact data point. We're a small CPA firm distributing an internal skills marketplace from a private GitHub repo to staff whose only surface is Cowork. A staff member removed the personal marketplace intending to reinstall it after a glitch — and there is now no working way to re-add it through Cowork, because the add-marketplace control isn't reachable from the Personal tab. The Claude Code CLI
can re-add it, but our non-technical staff can't use the CLI, so they're locked out of firm tooling until someone technical intervenes on each machine.

Two requests: (1) restore re-adding a personal/private marketplace from the Cowork GUI, and (2) surface the actual server-side error instead of the generic "could not connect to the marketplace host." Glad to share logs if useful.

releve068 · 2 months ago

I WAS ABLE TO FIX IT ON MY END...!!! I must say, I'm really surprised with all of the techies on Github, that nobody yet has been able to figure this out.

gcaaa31928 · 2 months ago
I WAS ABLE TO FIX IT ON MY END...!!! I must say, I'm really surprised with all of the techies on Github, that nobody yet has been able to figure this out.

That's amazing! Could you please share your solution here to help out the community?

releve068 · 2 months ago
> I WAS ABLE TO FIX IT ON MY END...!!! I must say, I'm really surprised with all of the techies on Github, that nobody yet has been able to figure this out. That's amazing! Could you please share your solution here to help out the community?

It's somewhat of a minor inconvenience, but it was well worth it:

  1. On another PC (not the only with the problem), I created/opened a new Claude account using different username / email, and chose the Pro Plan (must be a paid plan, will not work on free plan).
  2. Verified that on other PC with new account, the personal marketplace was indeed enabled and available.
  3. Using original PC with the problem, I logged-off current account (the one with the missing personal plugin marketplace issue) and logged in with the newly created account from Step 1; verified that personal marketplace was indeed enabled and available.
  4. Logged off of new account and then signed-on again with original user id / email that had the problem, and then viola, the personal plugin marketplace was now available again, as it was before.

Not sure but it seems that when the new account was logged on to the PC, it toggled the UI that was switched-off before and then is suddenly became available again.

I tried several things before arriving here, but this one worked and I AM SO HAPPY that it did.

Good luck,
Rene

kmmbvnr · 2 months ago

I have private repo marketplace that perfectly works if i add them from claude desktop code tab (customize - add marketplace)

But the same claude desktop cowork (customize add marketplace) shows the error: This host isn't supported. Use github.com, gitlab.com, bitbucket.org, or a GitHub Enterprise instance configured by your organization.

<img width="1560" height="946" alt="Image" src="https://github.com/user-attachments/assets/5195dd16-fb09-4f38-949b-563869f60904" />

What is the reason for such restriction? Same git works seamlessly from codex

oscarbotteri · 1 month ago

for those having Failed to add marketplace error, adding a data point in case it helps. I ran into this with a private github repo and I think the root cause is that the marketplace source field only accepts an HTTPS URL or the owner/repo shortcut (and owner/repo seems to expand to HTTPS under the hood). SSH forms get rejected as invalid, for example:

  • git@github.com:org/repo.git
  • ssh://git@github.com/org/repo.git

so for those of us who authenticate to GitHub only over SSH (no HTTPS credentials set up), the clone runs non-interactively and dies right away with fatal: unable to get password from user, since there's no terminal to prompt for a password.
What worked for me was a global git rewrite so the HTTPS URL transparently resolves over SSH:

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

After that the owner/repo shortcut clones fine over SSH, no prompt. The fact that this fixes it makes me fairly sure the clone itself is fine — it's just the HTTPS-only source handling that's the blocker.

I'd imagine the same insteadOf trick would work for GitLab, Bitbucket, or self-hosted setups by swapping in the right host, so it's a decent stopgap regardless of provider. That said, native support for SSH URLs in the source field would obviously be the cleaner fix.

lcmartinezdev · 1 month ago

@oscarbotteri Have you used similar workaround to use that in claude code web?

oscarbotteri · 1 month ago

@lcmartinezdev no, I havent. I have only used that approach in Claude Cowork desktop app.

Blackbaud-MattGregg · 1 month ago

Adding another confirmation of this issue. Cowork 'Add marketplace' gives me this error (Marketplace sync failed. Check the repository URL and try again.) when adding trying to add a private repo on Github via URL. It's connected via SSO to use repos from my GitHub organization. The exact same repo works when I add the marketplace via Claude Code.

samuelzamvil · 1 month ago

Same issue different error. Despite having already authorized Claude Desktop's access to GitHub I am seeing "Repository not found. If it's private, GitHub access is required."

safurrier · 1 month ago

AI-authored reproduction note on behalf of @safurrier:

I reproduced the local Claude Desktop Code variant of this issue on macOS with:

  • Claude Desktop 1.22209.3
  • Claude Code CLI 2.1.215
  • Surface: Directory → Plugins → Code → Add marketplace

The private GitHub repository was accessible to the user, and the Claude GitHub App was installed for the organization with repository access. A public marketplace added successfully.

Desktop normalized the private owner/repo source to an HTTPS URL and delegated the operation to the local CLI. The UI only displayed Failed to add marketplace, but ~/Library/Logs/Claude/main.log showed:

[CCDMarketplacePluginManagerCLI] Adding marketplace: https://github.com/<org>/<repo>
Failed to clone marketplace repository
fatal: unable to get password from user

The user's normal GitHub Git transport was SSH, so no noninteractive HTTPS credential was configured. Running:

gh auth setup-git

and verifying a noninteractive HTTPS git ls-remote fixed the issue. After that, the same private marketplace could be added, browsed, and used through Desktop Code.

This appears to be the local Desktop Code variant of the broader issue: the GitHub/SSO authorization presented in Desktop is not passed into the CLI-backed HTTPS clone. At minimum, Desktop should surface the underlying credential error. Ideally it should use the connected GitHub credential, preserve a usable SSH source, or guide the user to configure an HTTPS credential helper.

This workaround may not apply to the Cowork server-side sync variant described elsewhere in this thread.

stepwild · 29 days ago

Adding a fresh data point (2026-08-01, Windows 11, Claude Desktop/Cowork): private repo stepwild/claude-skills, GitHub App confirmed with "All repositories" read/write access (not a permissions-scope issue). claude plugin marketplace update + reinstall via Claude Code CLI synced the new commit correctly every time. Cowork's own "Aktualisieren" on the installed plugin repeatedly reported "already at the latest version" while stuck two version bumps behind; a separate marketplace registration explicitly failed to sync ("Marketplace konnte nicht aktualisiert werden"). After several repeated attempts via Anpassen → Plugins → Hinzufügen → "Aus einem Repository hinzufügen" (re-adding the same repo), it eventually succeeded — consistent with the intermittent/rate-limited behavior others here describe. Confirms this is isolated to Cowork's server-side sync path, not the plugin, manifest, or GitHub App config.