Skip to content

Import plugins from repository marketplaces#31610

Draft
charlesgong-openai wants to merge 2 commits into
mainfrom
agent/repo-marketplace-plugin-migration
Draft

Import plugins from repository marketplaces#31610
charlesgong-openai wants to merge 2 commits into
mainfrom
agent/repo-marketplace-plugin-migration

Conversation

@charlesgong-openai

Copy link
Copy Markdown
Contributor

Summary

  • discover Claude plugin marketplaces from supported repository paths during import
  • process repository plugin migrations before home migrations and inherit matching home enabledPlugins intent
  • prefer the repository marketplace source while keeping extraKnownMarketplaces as a fallback
  • add warnings for missing marketplace sources, manifests, plugins, config reloads, and reinstall failures

Why

Repository marketplaces such as .claude-plugin/marketplace.json are not necessarily listed in extraKnownMarketplaces. As a result, an enabled plugin such as build-cop@treehouse could be visible to repository plugin discovery but could not be reinstalled by /import.

Root cause

The plugin catalog and external-agent import paths used different marketplace inputs. Catalog listing received repository working directories, while import resolved only settings-declared marketplaces and did not reconcile home enabledPlugins with the repository marketplace.

Impact

  • /import can reinstall an enabled plugin directly from its repository marketplace
  • repository marketplace discovery reuses the existing marketplace manifest loader
  • duplicate repository/home plugin candidates are collapsed with repository scope winning
  • the normal Codex marketplace install/cache path remains unchanged

Scope

This PR contains only Claude/repository plugin marketplace migration. Cursor migration remains in the separate existing PR.

Validation

  • focused repository-marketplace tests: 3 passed
  • just fix -p codex-app-server — passed
  • just fmt — passed
  • just test -p codex-app-server — 928 passed, 13 failed, 6 timed out, 1 skipped; non-passing cases are environment-only sandbox, missing test-binary, file-watcher, and image fixture failures unrelated to this change

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