plugin marketplace add reports success but registration is not persisted (browse immediately fails with 'not found')
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
### Describe the bug
`copilot plugin marketplace add` reports success, but the marketplace registration is never persisted anywhere on disk. A subsequent `copilot plugin marketplace list` (even in the same command chain / immediately after) does not show the newly added marketplace, and `copilot plugin marketplace browse ` fails with `Marketplace "" not found`.
This reproduces both for a **local directory** marketplace and a **GitHub-hosted** marketplace, so it does not appear to be specific to local-path or git-auth handling (unlike #4103).
### Environment
- GitHub Copilot CLI: 1.0.74 (latest at time of filing)
- OS: Windows 11 (PowerShell 7 / native)
- Marketplace manifest: valid `.claude-plugin/marketplace.json` at repo root (per docs, this location is supported)
### Steps to reproduce
```powershell
# Local directory marketplace with a valid .claude-plugin/marketplace.json
copilot plugin marketplace add C:\Git\Agentic
copilot plugin marketplace list
copilot plugin marketplace browse company-skills
```
```powershell
# Also reproduces with a GitHub-hosted marketplace
copilot plugin marketplace add anthropics/claude-code
copilot plugin marketplace list
```
### Actual result
```
Marketplace "company-skills" added successfully.
```
...but `copilot plugin marketplace list` afterward only shows the two built-in marketplaces:
```
Included with GitHub Copilot:
- copilot-plugins (GitHub: github/copilot-plugins)
- awesome-copilot (GitHub: github/awesome-copilot)
```
And:
```
Fetching plugins from marketplace "company-skills"...
Failed to browse marketplace: Error: Marketplace "company-skills" not found
```
[repro-marketplace.zip](https://github.com/user-attachments/files/30352224/repro-marketplace.zip)
Confirmed via `Compare-Object` of a full recursive file listing under `~/.copilot`, `%LOCALAPPDATA%`, and `%APPDATA%` before/after running `add` — **no files are created or modified** anywhere as a result of the command, despite the CLI reporting success.
### Expected result
`copilot plugin marketplace add` should persist the marketplace registration so that a subsequent `list`/`browse` in a new process reflects it, matching the documented behavior in https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing.
### Additional context
Possibly related to #3403 (`~/.copilot/config.json` being overwritten/reset on session start, dropping previously-written keys like `hooks`) — if marketplace registrations are also expected to live in `config.json`, the same overwrite-on-start bug could explain why the registration never survives past the single `add` invocation.
--- *This report was investigated and drafted by GitHub Copilot CLI (Claude Sonnet 5).*
Additional notes: name of marketplace changed for to company-skills. Additional details
贡献指南
调研方向
从 `plugin marketplace add`、`list` 和 `browse` 的 CLI 入口开始,然后检查持久化位置,包括可能的 `~/.copilot/config.json` 路径和 `.claude-plugin/marketplace.json` 清单。分别使用本地目录示例和托管在 GitHub 上的示例进行复现;完成的标准是注册信息在新进程中仍然保留,并出现在 `list` 和 `browse` 中。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github, powershell, shell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100