remoteMarketplaceClient rejects all third-party plugin sources: 'External plugin sources are not yet supported'
Bug Description
The remoteMarketplaceClient backend (enabled by the claudeai_cowork_backend_marketplaces feature gate) rejects all third-party marketplace plugin sources with:
"External plugin sources are not yet supported."
This affects source: "url", source: "github", relative paths ("./plugin-name"), and git subtrees — every documented source type fails for non-Anthropic marketplaces.
Steps to Reproduce
- Add a personal marketplace in Claude Code Desktop:
indranilbanerjee/neels-plugins - The marketplace.json uses
source: "url"format — identical toobra/superpowers-marketplace(772 stars) and 60 of 123 plugins inclaude-plugins-official - Marketplace sync fails immediately
Error Logs
From claude.ai-web.log:
MARKETPLACE_ERROR:REMOTE_SYNC_FAILED [remoteMarketplaceOps] refresh sync did not succeed (status: failed_content):
{"plugins": [
{"name": "digital-marketing-pro", "error": "External plugin sources are not yet supported."},
{"name": "contentforge", "error": "External plugin sources are not yet supported."},
{"name": "socialforge", "error": "External plugin sources are not yet supported."}
], "message": "0 plugins found, 3 failed validation"}
From main.log:
[remoteMarketplaceClient] pollSyncUntilDone settled with status=failed_content after ~400ms
When switching to relative paths with embedded code (git subtree), the error changes to:
"No files found at source path 'digital-marketing-pro'"
Marketplace Format
The marketplace.json matches the superpowers-marketplace format exactly:
{
"name": "neels-plugins",
"owner": { "name": "Indranil Banerjee" },
"metadata": { "description": "Marketing plugins", "version": "2.1.0" },
"plugins": [
{
"name": "digital-marketing-pro",
"source": { "source": "url", "url": "https://github.com/indranilbanerjee/digital-marketing-pro.git" },
"version": "2.7.0",
"strict": true
}
]
}
Key Observations
- NativeMarketplaceReader (local) works fine:
Found 2 marketplace(s), lists plugins, shows updates - remoteMarketplaceClient (server) fails: Every sync attempt returns
failed_contentin ~400ms - Feature gate:
claudeai_cowork_backend_marketplaces=trueroutes through the remote backend - Before the remote backend migration, the marketplace worked via NativeMarketplaceReader — logs from March 30 show:
Update available for digital-marketing-pro@neels-plugins: 2.5.0 → 2.5.1 - The UI error blocks plugin browsing even though the local reader succeeded
Formats Tested (all fail)
| Format | Error |
|--------|-------|
| source: "url" with HTTPS | "External plugin sources are not yet supported" |
| source: "url" with SHA pins | "External plugin sources are not yet supported" |
| Relative paths + git submodules | "No files found at source path" (server doesn't clone recursively) |
| Relative paths + git subtree (code embedded) | "No files found at source path" |
Expected Behavior
Third-party marketplaces using source: "url" should sync successfully, since this is the format used by:
- 60 of 123 plugins in
claude-plugins-official obra/superpowers-marketplace(most popular third-party marketplace)- The official documentation at code.claude.com/docs/en/plugin-marketplaces
Environment
- Claude Code Desktop v1.1.9669.0 (Windows 11)
- Feature gate:
claudeai_cowork_backend_marketplaces=true - Account: Max plan
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗