Skip to content

coding-agent: disabling Claude Code Marketplace also disables OMP marketplace-backed capabilities #582

@daandden

Description

@daandden

Description

Disabling the Claude Code Marketplace provider in OMP also disables OMP marketplace-backed capabilities. That includes installed skills and other capability types routed through the shared marketplace discovery provider.

From a user perspective, OMP marketplace installs look like a separate source from Claude Code marketplace plugins. Today they are coupled internally, so turning off Claude Code marketplace discovery also unloads OMP marketplace-backed capabilities.

Steps to reproduce

  1. Install a plugin or skill from the OMP marketplace.
  2. Confirm the installed capability is available.
  3. Open provider/capability settings and disable Claude Code Marketplace.
  4. Start a new session or refresh capability discovery.
  5. Observe that OMP marketplace-backed capabilities are also gone or disabled.

Expected behavior

Disabling Claude Code marketplace should disable only Claude Code marketplace-backed capabilities.

OMP marketplace-backed capabilities should remain available unless the user explicitly disables OMP marketplace separately.

Actual behavior

OMP marketplace-backed capabilities disappear when Claude Code Marketplace is disabled.

Error output

No explicit error is required to reproduce this. The visible symptom is that OMP marketplace-backed capabilities disappear after disabling Claude Code Marketplace.

Area

Extensions / Plugins

Additional context

Root cause from current code:

  • packages/coding-agent/src/discovery/helpers.ts
    • listClaudePluginRoots() merges both Claude and OMP marketplace registries:
      • ~/.claude/plugins/installed_plugins.json
      • ~/.omp/plugins/installed_plugins.json
    • OMP entries can override Claude entries for matching IDs
  • packages/coding-agent/src/discovery/claude-plugins.ts
    • The shared discovery provider is still registered as:
      • id: "claude-plugins"
      • display name: Claude Code Marketplace
    • This provider is used for skills, slash commands, hooks, custom tools discovered from marketplace plugin roots, and MCP server discovery
  • packages/coding-agent/src/capability/index.ts
    • Provider disable is global by provider id across capabilities
  • packages/coding-agent/src/extensibility/plugins/marketplace/types.ts
    • OMP marketplace install entries intentionally use a Claude-compatible registry shape
  • packages/coding-agent/src/extensibility/plugins/marketplace/registry.ts
    • OMP marketplace writes its installed-plugin registry under the OMP plugins directory
  • packages/coding-agent/src/extensibility/custom-tools/loader.ts
    • Direct OMP plugin-manifest custom-tool loading exists separately, which suggests the provider-coupling is specific to marketplace-root discovery routed through claude-plugins
  • packages/coding-agent/src/extensibility/extensions/loader.ts
    • Direct plugin extension loading also appears to bypass claude-plugins
  • packages/coding-agent/src/extensibility/plugins/loader.ts
    • Shared helper for direct enabled-plugin extension/tool path loading

Net effect: OMP marketplace-backed capabilities are coupled to the same claude-plugins provider toggle, so disabling Claude Code Marketplace disables all marketplace-root capability discovery from both sources.

Important boundary: this does not appear to disable every OMP plugin mechanism globally. Separate OMP plugin-manifest loaders for extensions and direct custom-tool loading appear unaffected because they bypass claude-plugins.

Suggested fix direction

Split OMP marketplace discovery into its own provider/toggle instead of routing OMP marketplace-backed capabilities through the shared claude-plugins provider.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingprio:p2Medium: important but not urgentsdkSDK and extension integration surfacesetupInstallation and setup

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions