Skip to content

Plugin installation fails on Claude Code - incompatible marketplace.json source format #10

@jundihuang

Description

@jundihuang

🐛 Bug Report

Description

Installing the Shopify AI Toolkit plugin on Claude Code fails with a schema validation error when using the official plugin installation command.

Steps to Reproduce

  1. Add the marketplace (works):

    /plugin marketplace add Shopify/shopify-ai-toolkit
    

    ✅ Successfully added marketplace: shopify-ai-toolkit

  2. Install the plugin (fails):

    /plugin install shopify-plugin@shopify-ai-toolkit
    

    Error:

    Failed to load marketplace "claude-plugins-official" from source (github): Failed to parse marketplace file at /Users/jayce/.claude/plugins/marketplaces/anthropics-claude-plugins-official/.claude-plugin/marketplace.json: Invalid schema:
    plugins.2.source: Invalid input, plugins.5.source: Invalid input, plugins.12.source: Invalid input, ...
    

Root Cause

The marketplace.json file in this repository uses an incompatible source format that doesn't match the Claude Code marketplace schema.

Current configuration (.claude-plugin/marketplace.json):

{
  "plugins": [
    {
      "name": "shopify-plugin",
      "source": "./",  // ❌ This format is invalid
      ...
    }
  ]
}

Expected format (based on other working plugins like adspirer-ads-agent):

{
  "plugins": [
    {
      "name": "shopify-plugin",
      "source": {
        "source": "local",  // or "url" / "git-subdir"
        "path": "./"
      },
      ...
    }
  ]
}

Evidence from Other Plugins

Comparing with a working plugin from claude-plugins-official marketplace:

{
  "name": "adspirer-ads-agent",
  "source": {
    "source": "url",
    "url": "https://github.com/amekala/adspirer-mcp-plugin.git",
    "sha": "aa70dbdbbbb843e94a794c10c2b13f5dd66b5e40"
  }
}

All working plugins use an object format for source, not a string.

Environment

  • OS: macOS (Darwin 24.1.0)
  • Claude Code: Latest version
  • Plugin Version: 1.0.0

Impact

Users cannot install the Shopify AI Toolkit plugin through the standard Claude Code plugin installation process, making it difficult to use the provided skills and tools.

Workaround

Users can still use the Shopify Dev MCP server by installing it globally:

npm install -g @shopify/dev-mcp

And manually configuring it in ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "shopify-dev-mcp": {
      "command": "npx",
      "args": ["-y", "@shopify/dev-mcp@latest"]
    }
  }
}

However, this doesn't install the 16 skills that come with the plugin.

Suggested Fix

Update .claude-plugin/marketplace.json to use the correct source format:

{
  "name": "shopify-ai-toolkit",
  "owner": {
    "name": "Shopify"
  },
  "metadata": {
    "description": "Shopify developer tools for Claude Code"
  },
  "plugins": [
    {
      "name": "shopify-plugin",
      "source": {
        "source": "local",
        "path": "./"
      },
      "description": "Search Shopify docs, generate and validate GraphQL, Liquid, and UI extension code",
      "version": "1.0.0",
      "author": { "name": "Shopify" },
      "license": "MIT",
      "homepage": "https://github.com/Shopify/Shopify-AI-Toolkit",
      "keywords": ["shopify", "mcp", "graphql", "liquid", "storefront", "admin-api"]
    }
  ]
}

Additional Context

I checked the official Claude Code marketplace schema and compared with multiple working plugins. The string format for source appears to be incompatible with the current marketplace parser.

The plugin files are correctly downloaded to ~/.claude/plugins/marketplaces/shopify-ai-toolkit/, but the installation process fails during schema validation.


🔗 Related Documentation:

  • Claude Code Plugin Documentation
  • Model Context Protocol (MCP) Specification

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions