[BUG] "Sync automatically" never creates a webhook on a personal (non-org) marketplace, despite correct GitHub App permissions

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 18, 2026

Summary

Enabling "Sync automatically" on an account-level marketplace registered from a personal GitHub repository (not an org repo) never creates a webhook on GitHub — confirmed directly via the GitHub API, not inferred from the toggle's own state, which shows ON the whole time. This is distinct from #93825 (which is about a webhook that exists but doesn't fire on a direct push) — in this case, no webhook is ever created at all, so no trigger could ever work, including the documented merged-PR-with-version-bump path.

Environment

  • Personal GitHub repo used as a Claude marketplace: mikeyosyd/my-personal-skills (private)
  • Claude GitHub App: installed on personal account, "Repository hooks: Read and write" permission granted, "All repositories" access selected (verified at github.com/settings/installations)
  • macOS desktop app

Steps to reproduce

  1. Register a private personal repository as an account-level marketplace (claude.ai → Manage marketplaces).
  2. Confirm "Sync automatically" is toggled on for it.
  3. Run gh api repos/<owner>/<repo>/hooks — returns [].
  4. Toggle "Sync automatically" off, then on again.
  5. Immediately re-run gh api repos/<owner>/<repo>/hooks — still []. Re-check again ~8 seconds later — still [].
  6. Push commits to the repo's default branch — "Synced commit" in the Manage marketplaces dialog never advances on its own; only clicking "Check for updates" manually moves it.

Expected behavior

Toggling "Sync automatically" on should create a repository webhook (as it evidently does for org-owned marketplace repos — I have a separate org marketplace where two such webhooks do exist, just apparently gated by the merged-PR-with-version-bump trigger described in your own docs, matching #93825's report). For a personal repo with the same App permissions and repo access, the same webhook creation should succeed.

Actual behavior

No webhook is ever created for the personal-repo marketplace, regardless of how many times the toggle is cycled. Manual "Check for updates" works reliably and immediately (~seconds) via the same account-level sync, so this isn't a broader auth/access problem — just webhook creation specifically, for a personal (non-org) repo.

Additional finding, possibly related

The same account also has an org marketplace (festive-road-marketplace) that has accumulated three different marketplace IDs over its history (two old webhook registrations, from different dates, neither matching the ID the currently-installed plugins are actually bound to) — with no UI path to see or clean up the duplicates. Filing this here rather than separately in case it's the same underlying registration-state issue; happy to split it out if that's more useful.

View original on GitHub ↗