Skip to content

plugin marketplace add fails entirely if any single plugin description exceeds 1024 chars #4969

Description

@timfallmk

Environment

  • Copilot CLI: 1.0.88
  • OS: macOS

Problem

copilot plugin marketplace add <owner>/<repo> performs strict Zod validation
of marketplace.json and rejects the entire marketplace if any plugin
entry has a description longer than 1024 characters. There is no partial
load, warning-and-skip, or truncation — a single non-conformant plugin entry
makes the whole marketplace (hundreds of otherwise-valid plugins) unusable.

This may be related to/duplicate work for #3494 (SKILL.md description >1024
chars silently dropped from skills.list()), but the failure mode here is the
opposite and arguably worse: instead of silently dropping the SKILL.md entry
in an installed plugin, the CLI hard-fails to add an entire marketplace
because of a handful of over-length description fields in marketplace.json.

Reproducer

$ copilot plugin marketplace add Rippling/claude-marketplace
Failed to add marketplace: Error: Request plugins.marketplaces.add failed with message: Invalid marketplace.json: plugins.27.description: String must contain at most 1024 character(s), plugins.89.description: String must contain at most 1024 character(s), plugins.147.description: String must contain at most 1024 character(s), plugins.171.description: String must contain at most 1024 character(s), plugins.394.description: String must contain at most 1024 character(s), plugins.406.description: String must contain at most 1024 character(s), plugins.417.description: String must contain at most 1024 character(s), plugins.439.description: String must contain at most 1024 character(s), plugins.580.description: String must contain at most 1024 character(s), plugins.610.description: String must contain at most 1024 character(s)

The referenced marketplace.json has 672 plugin entries; 10 of them have
description fields between 1084 and 6103 characters (one is nearly 6x the
cap). Trimming just those 10 descriptions to ≤1024 chars allows the
marketplace to be added successfully — every other field/entry is otherwise
valid.

Impact

  • A single contributor adding an overlong description (easy to do
    accidentally, e.g. via generated/templated descriptions) blocks marketplace
    adoption for the entire org, not just their plugin.
  • The error message lists the offending indices but not plugin names, making
    it hard to locate/fix the entries without manually indexing into the JSON
    array.
  • There's no --force/lenient mode to add the marketplace while skipping or
    truncating invalid entries.

Suggested fix

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions