Skip to content

plugin-dependency-string-with-marketplace ​

Bare-string dependency must be a plugin name and cannot contain "@"

Error

Rule Details ​

The "name@marketplace" form is valid CLI syntax (claude plugin install foo@bar), which is why it looks correct in a manifest. It is not valid manifest syntax. To depend on a plugin in another marketplace, use the object form with an explicit marketplace field, and ensure the root marketplace lists that marketplace in allowCrossMarketplaceDependenciesOn. Dependencies can be declared in two places and break identically in both: a plugin.json, and a plugin entry inside marketplace.json. This rule checks both.

Incorrect ​

CLI syntax used in a plugin.json dependency string

json
{
  "name": "mintlify-docs",
  "dependencies": ["mintlify@claude-plugins-official"]
}

The same string inside a marketplace.json plugin entry

json
{
  "name": "acme-tools",
  "owner": { "name": "Acme" },
  "plugins": [
    {
      "name": "mintlify-docs",
      "source": "./mintlify-docs",
      "dependencies": ["mintlify@claude-plugins-official"]
    }
  ]
}

Correct ​

Object form with an explicit marketplace

json
{
  "name": "mintlify-docs",
  "dependencies": [
    { "name": "mintlify", "marketplace": "claude-plugins-official" }
  ]
}

Bare string for a plugin in the same marketplace

json
{
  "name": "deploy-kit",
  "dependencies": ["audit-logger"]
}

How To Fix ​

Replace the string with an object of the form { "name": "my-plugin", "marketplace": "their-marketplace" }. Then add the target marketplace to allowCrossMarketplaceDependenciesOn in the root marketplace.json, or the install will fail with a cross-marketplace error.

Options ​

This rule does not have any configuration options.

Resources ​

Version ​

Available since: v0.6.0