plugin marketplace add reports success but registration is not persisted (browse immediately fails with 'not found')
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 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