Skip to content

Fix plugin installation format from marketplace URL to GitHub repository path#14425

Merged
pelikhan merged 3 commits intocopilot/add-plugin-to-smoke-agentic-workflowsfrom
copilot/fix-plugin-import
Feb 7, 2026
Merged

Fix plugin installation format from marketplace URL to GitHub repository path#14425
pelikhan merged 3 commits intocopilot/add-plugin-to-smoke-agentic-workflowsfrom
copilot/fix-plugin-import

Conversation

Copy link
Contributor

Copilot AI commented Feb 7, 2026

The copilot plugin install command fails with marketplace URL syntax (plugin@marketplace). The Copilot CLI expects GitHub repository paths, not marketplace references.

Error:

Failed to install plugin: Marketplace "claude-plugins-official" not found

Changes

Workflows (5 files)

  • Updated smoke test workflows to use anthropics/claude-code/plugins/explanatory-output-style instead of explanatory-output-style@claude-plugins-official

Schema & Documentation

  • Clarified that @marketplace pattern in schema is reserved for potential future support
  • Removed marketplace URL examples from documentation
  • Documented that current engines only accept GitHub repository paths: org/repo or org/repo/path/to/plugin

Example:

# Before (fails)
plugins:
  - explanatory-output-style@claude-plugins-official

# After (works)
plugins:
  - anthropics/claude-code/plugins/explanatory-output-style

The schema pattern still permits @ syntax to avoid breaking existing validation, but documentation now clarifies this is not currently functional.

Original prompt

Reference: https://github.com/github/gh-aw/actions/runs/21786898327/job/62859764305#step:19:1

Fix plugin import, check Claude code docs.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits February 7, 2026 21:20
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix plugin import and check documentation Fix plugin installation format from marketplace URL to GitHub repository path Feb 7, 2026
Copilot AI requested a review from pelikhan February 7, 2026 21:23
@pelikhan pelikhan marked this pull request as ready for review February 7, 2026 21:32
Copilot AI review requested due to automatic review settings February 7, 2026 21:32
@pelikhan pelikhan merged commit 805ee16 into copilot/add-plugin-to-smoke-agentic-workflows Feb 7, 2026
113 of 115 checks passed
@pelikhan pelikhan deleted the copilot/fix-plugin-import branch February 7, 2026 21:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates plugin identifiers from marketplace-style references (plugin@marketplace) to GitHub repository paths so smoke workflows use a format that the Copilot CLI accepts, and aligns schema/docs messaging around supported plugin formats.

Changes:

  • Updated smoke workflows and their generated lockfiles to install anthropics/claude-code/plugins/explanatory-output-style.
  • Updated schema descriptions/examples to emphasize GitHub repo/path plugin identifiers and remove marketplace examples.
  • Updated frontmatter documentation and release notes to describe the supported plugin identifier format.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pkg/parser/schemas/main_workflow_schema.json Removes marketplace examples and updates descriptions to emphasize GitHub repo/path plugin IDs (pattern still permissive).
docs/src/content/docs/reference/frontmatter.md Removes marketplace examples and updates guidance to focus on GitHub repo/path identifiers.
.github/workflows/smoke-test-tools.md Switches plugin to GitHub repo/path format for Copilot smoke workflow.
.github/workflows/smoke-test-tools.lock.yml Updates generated install step to use GitHub repo/path plugin identifier.
.github/workflows/smoke-project.md Switches plugin to GitHub repo/path format for Codex smoke workflow.
.github/workflows/smoke-project.lock.yml Updates generated install step to use GitHub repo/path plugin identifier.
.github/workflows/smoke-copilot.md Switches plugin to GitHub repo/path format for Copilot smoke workflow.
.github/workflows/smoke-copilot.lock.yml Updates generated install step to use GitHub repo/path plugin identifier.
.github/workflows/smoke-codex.md Switches plugin to GitHub repo/path format for Codex smoke workflow.
.github/workflows/smoke-codex.lock.yml Updates generated install step to use GitHub repo/path plugin identifier.
.github/workflows/smoke-claude.md Switches plugin to GitHub repo/path format for Claude smoke workflow.
.github/workflows/smoke-claude.lock.yml Updates generated install step to use GitHub repo/path plugin identifier.
.changeset/patch-add-explanatory-output-style-plugin.md Updates release note entry to reflect the new supported plugin identifier format.
Comments suppressed due to low confidence (1)

pkg/parser/schemas/main_workflow_schema.json:2569

  • Within the object-format plugins.repos items, the string variant description was updated to de-emphasize marketplace formats, but the adjacent object variant’s id field description still lists plugin-name@marketplace / org/repo@marketplace. This is inconsistent and can confuse users; update the id description here to match the new guidance (and/or add the same “future support only” note).
                    "type": "string",
                    "pattern": "^([a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)+|[a-zA-Z0-9_-]+)(@[a-zA-Z0-9_-]+)?$",
                    "description": "Plugin identifier in GitHub repository format: 'org/repo' or 'org/repo/path/to/plugin' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style'). The pattern allows @marketplace syntax for potential future support, but current engines only support GitHub repository paths."
                  },
                  {
                    "type": "object",

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- **Marketplace reference**: `plugin-name@marketplace` (e.g., `pyright-lsp@claude-plugins-official`)
- **Repository with marketplace**: `org/repo@marketplace` (e.g., `anthropics/claude-code@anthropic-plugins`)

**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines.
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs remove marketplace examples but the new note doesn’t explicitly call out that @marketplace identifiers are currently not supported (even though the schema still permits them). Adding an explicit sentence here would better align the docs with the actual CLI behavior/error and prevent users from assuming plugin@marketplace will work.

Suggested change
**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines.
**Note**: The plugin format must be compatible with the engine's CLI `plugin install` command. Currently, GitHub repository paths (with optional sub-paths) are the standard format supported across engines. `@marketplace` identifiers (for example, `plugin@marketplace`) are not currently supported and will result in a CLI error, even though the schema permits them.

Copilot uses AI. Check for mistakes.
Comment on lines 2513 to 2516
"type": "string",
"pattern": "^([a-zA-Z0-9_-]+(/[a-zA-Z0-9_-]+)+|[a-zA-Z0-9_-]+)(@[a-zA-Z0-9_-]+)?$",
"description": "Plugin identifier in one of these formats: 'org/repo', 'org/repo/path/to/plugin', 'plugin-name@marketplace', or 'org/repo@marketplace' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style', 'pyright-lsp@claude-plugins-official')"
"description": "Plugin identifier in GitHub repository format: 'org/repo' or 'org/repo/path/to/plugin' (e.g., 'github/example-plugin', 'anthropics/claude-code/plugins/explanatory-output-style'). The pattern allows @marketplace syntax for potential future support, but current engines only support GitHub repository paths."
},
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The regex pattern for plugin IDs still allows a single segment (e.g., plugin-name) and an optional @marketplace suffix, but the updated description states that current engines only support GitHub repository paths (org/repo with optional sub-paths). This mismatch means schema validation will accept values that will later fail at runtime; consider tightening the pattern to require at least org/repo, or explicitly documenting that these legacy forms are accepted by schema only for backward compatibility and are not supported by engines.

This issue also appears on line 2564 of the same file.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants