Skip to content

fix: use explicit git-subdir source for Cowork marketplace-sync compatibility#3

Merged
isabelle-cedar merged 1 commit into
mainfrom
fix/cowork-marketplace-sync
Jul 14, 2026
Merged

fix: use explicit git-subdir source for Cowork marketplace-sync compatibility#3
isabelle-cedar merged 1 commit into
mainfrom
fix/cowork-marketplace-sync

Conversation

@isabelle-cedar

Copy link
Copy Markdown
Contributor

Summary

  • Cowork's marketplace "Add from a repository" flow fails with "Marketplace sync failed. Check the repository URL and try again." — reproduced live. Claude Code works fine with the same repo.
  • Root cause: our marketplace.json used the relative-path shorthand ("source": "./cedar-plugin"), which only resolves when the client does a full local git clone of the whole repo (what Claude Code's CLI does). Cowork's server-side remoteMarketplaceOps sync validates each plugin's source independently via an unauthenticated server-side fetch instead of a full clone, and can't resolve a bare relative path — it reports a generic sync failure. This matches the server-side log dump quoted in anthropics/claude-code#61271 (closed as duplicate of the still-open #28125): "Repository not found on github.com. Check the URL and make sure the repository is public."
  • The official docs' own troubleshooting section documents this exact failure class ("Plugins with relative paths fail in URL-based marketplaces") and its fix: use an explicit source object instead of a relative path.

Fix

Changed the cedar plugin's source from the relative-path shorthand to an explicit git-subdir source (required instead of github, since github has no path field and our plugin lives in the cedar-plugin/ subdirectory of this repo, not at the root):

-      "source": "./cedar-plugin",
+      "source": {
+        "source": "git-subdir",
+        "url": "https://github.com/CedarCopilot/cedar-plugin.git",
+        "path": "cedar-plugin"
+      },

Test plan

  • claude plugin validate . passes (pre-existing description warning only, unrelated)
  • JSON validity + CI's dev-artifact guard unaffected (only checks .mcp.json)
  • Re-test in Cowork: /plugin marketplace remove the old entry, re-add via CedarCopilot/cedar-plugin, confirm sync succeeds
  • Re-verify Claude Code install still works unchanged (git-subdir is also a fully-supported source type there)

🤖 Generated with Claude Code

Claude Code's CLI does a full local git clone, so the relative-path
source ("./cedar-plugin") resolves fine against the checkout on disk.
Cowork's server-side marketplace sync doesn't do a full local clone —
it validates each plugin's source independently via an unauthenticated
server-side fetch, and fails on relative-path sources with a generic
"Marketplace sync failed. Check the repository URL and try again."
(matches anthropics/claude-code#61271/#28125's server-side log dump:
"Repository not found on github.com").

The docs' own troubleshooting section documents this exact failure
class ("Plugins with relative paths fail in URL-based marketplaces")
and the fix: use an explicit source object instead of a relative path.
Since this plugin lives in a subdirectory of the same repo (not at
repo root), git-subdir is the correct source type (github doesn't
support a path field).
@isabelle-cedar
isabelle-cedar merged commit 58ca0af into main Jul 14, 2026
1 check passed
@isabelle-cedar
isabelle-cedar deleted the fix/cowork-marketplace-sync branch July 14, 2026 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant