Skip to content

Plugin marketplace: add explicit update command and prevent shallow clone history accumulation #2488

@liujacky2001

Description

@liujacky2001

Summary

Two minor feature gaps related to plugin marketplace management:

  1. No explicit /plugin marketplace update command

Currently, the only way to update a marketplace is implicitly through /plugin marketplace browse, which triggers a git pull under the hood. This behavior is non-obvious and undocumented.

Current marketplace subcommands:

  • /plugin marketplace add
  • /plugin marketplace remove
  • /plugin marketplace list
  • /plugin marketplace browse

Suggestion: Add /plugin marketplace update (or update --all) as a dedicated subcommand so users can explicitly refresh marketplace catalogs without needing to browse.

  1. Shallow clone history accumulates over time

When a marketplace is first added, it's cloned as a shallow clone (--depth 1). However, subsequent updates (triggered by browse) append new commits rather than re-shallowing. Over time, the local clone at ~\AppData\Local\copilot\marketplaces<encoded-url>\ grows
unbounded.

For a marketplace, only the latest state of the plugins/ directory matters — intermediate commit history is unnecessary.

Suggestion: Use git fetch --depth 1 (or equivalent) during updates to keep the clone minimal, rather than a standard git pull that accumulates history.

Impact

Neither issue is critical. Both are quality-of-life improvements — the first for discoverability, the second for disk efficiency on machines with many marketplaces or frequent updates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:installationInstalling, updating, versioning, PATH setup, and binary distributionarea:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agents

    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