plugin marketplace add fails entirely if any single plugin description exceeds 1024 chars
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 52/100
Rechercherichtung
Start by reproducing copilot plugin marketplace add Rippling/claude-marketplace with the referenced marketplace.json, then inspect the marketplace-add validation path. The fix should prevent one overlong description from making all 672 entries unusable, or make the validation error identify the plugin; verify that the marketplace can be added and that invalid entries are handled as intended.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Validate per-plugin-entry and skip/warn on individual invalid entries
(matching the description in #3494) instead of failing the whole
marketplace add, OR - Include the plugin
name/id(not just array index) in the validation
error so it's actionable, and/or - Document the 1024-char
descriptioncap formarketplace.jsonplugin
entries (currently not called out anywhere in
https://docs.github.com/copilot/how-tos/copilot-cli/customize-copilot/plugins-marketplace).
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 17 Std. 6 Min.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/copilot-cli
-
area:sessions
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
github/copilot-cli#4996 ·
Maintainer antworten meist innerhalb von 1 Tag
-
triage
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
github/copilot-cli#4963 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
github/copilot-cli#4932 ·
Maintainer antworten meist innerhalb von 1 Tag
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
github/copilot-cli#4909 ·
Maintainer antworten meist innerhalb von 1 Tag
-
triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/copilot-cli#4906 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in github/copilot-cli
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
-
Does a subagent definition's `tools:` bypass the permission check? One default-permission cellOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
pearu/agent-sandbox#156 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area/documentation squad/marvin
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
rancher/stackstate-product-docs#443 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
getumbrel/umbrel-apps#6142 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
triage/confirmed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
agentscope-ai/agentscope#3030 ·
Maintainer antworten meist innerhalb von 1 Tag