[BUG] claude.ai: Sync on a GitHub marketplace doesn't show newly added plugins until the marketplace is removed and re-added

Status Open
Reported on v2.1.296
Maintainer reply None cached
Activity 0 comments · opened Oct 14, 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?

After adding a new plugin to a GitHub-hosted marketplace, clicking Sync on that marketplace in claude.ai reports success, but the new plugin doesn't appear. Existing plugins still show. Removing and re-adding the marketplace makes the new plugin appear right away.

What Should Happen?

Sync should list every plugin in the current marketplace.json, including newly added ones.

Error Messages/Logs

None. Sync shows no error.

Steps to Reproduce

  1. In claude.ai (Customize → Plugins), add a marketplace from a GitHub repo whose .claude-plugin/marketplace.json lists one plugin.
  2. Add a second plugin to the repo and to marketplace.json, and push to the default branch.
  3. Click Sync on the marketplace. The second plugin doesn't appear.
  4. Remove the marketplace and add it again. The second plugin now appears.

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.296 (Claude Code)

Platform

Other

Operating System

Windows

Terminal/Shell

Other

Additional Information

Seen in claude.ai in the browser; the CLI isn't needed to reproduce.

Possibly the same root cause as these reports, where a marketplace or plugin cache isn't refreshed on update:

  • #17361 Plugin cache never refreshes
  • #21754 Structural changes to a local marketplace are not picked up until it's removed and re-added
  • #43745 Custom marketplace plugins: updates don't sync

Related on claude.ai: #93825 (automatic sync never fires, manual works). Here the manual Sync also misses new plugins.

From the Claude Code 2.1.296 client: plugins for a claude.ai marketplace come from a server-built catalog at GET /api/oauth/organizations/:orgUUID/marketplaces/{marketplaceId}/plugins, fetched with If-None-Match, and a 304 reuses cached rows. Re-adding likely creates a new marketplaceId, so both catalogs start fresh. That points at Sync not adding new rows (or not changing the ETag) for an existing marketplace.

View original on GitHub ↗