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

    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