Plugin marketplace auto-update and manual refresh both non-functional (autoUpdate: true never fires)
Summary
autoUpdate: true is correctly configured for a registered Claude Code plugin marketplace, but the plugin cache has not refreshed in 2+ weeks. Three independent manual refresh paths (/plugin install, the Discover-tab UI, and re-registering the marketplace via script) were all attempted and none updated the cached plugin content.
Environment
- OS: macOS 14.4 (Build 23E214)
- Claude desktop app: 2.110.1
- Claude Code: 2.1.260
- Plugin: a private GitHub-backed marketplace registered in
~/.claude/settings.jsonunderextraKnownMarketplaces.<name>with"autoUpdate": true
Expected behavior
Per the documented behavior, a marketplace registered with autoUpdate: true should refresh in the background shortly after each session starts, keeping the installed plugin's skills current with the source repo's main branch.
Actual behavior
- Background auto-update has not fired in 2+ weeks, across every registered marketplace, not just one.
~/.claude/plugins/known_marketplaces.json'slastUpdatedfield was frozen for all 4 registered marketplaces despite many Claude Code sessions started since those dates:
- A private marketplace with
autoUpdate: true: frozen at2026-09-03T12:38:28Z - Anthropic's own public
claude-plugins-officialmarketplace: frozen at2026-09-07T09:56:24Z openai-codex(public): frozen at2026-09-04T11:08:29Zagent-talk(public): frozen at2026-09-04T11:46:10Z
None have updated, which points to the background refresh mechanism itself not running, independent of any single marketplace's config or auth.
/plugin install <plugin>@<marketplace>does not perform a scriptable install. Instead of installing directly, it opens the general Plugins picker UI and appears to ignore theinstall <name>argument entirely.
- Re-registering the marketplace via a config-writing script had no effect on cached content. A script that directly rewrote the
extraKnownMarketplaces.<name>entry in~/.claude/settings.json(same shape, sameautoUpdate: true) ran successfully and the settings file confirmed the write — but the plugin cache was untouched afterward.
- Manually using the UI (Settings → Plugins → Discover → search → install) also failed to refresh content. After this action:
- One file in the cache showed today's mtime, but its content was unchanged from the old snapshot.
- A file that only exists in the latest merged source is still absent from the cache entirely.
known_marketplaces.json'slastUpdatedfor the marketplace remained frozen at its original stale date.
- Version confirms the staleness directly: the cached plugin's own manifest reported a version three releases behind the true current version on the source repo's
mainbranch.
/reload-pluginsreports success (e.g. "Reloaded: 4 plugins · 65 skills · 7 agents · 3 hooks · 0 plugin LSP servers") but only re-registers whatever is already cached — it does not fetch anything from the marketplace source, so it gives false confidence that a refresh occurred.
Impact
Any plugin distributed via an extraKnownMarketplaces GitHub marketplace with autoUpdate: true appears to never refresh in this environment, and no available manual command or UI path currently works around it. Users have no reliable way to get a marketplace-distributed plugin's skills to actually update short of this being fixed.