[BUG] Manage Plugins UI writes incorrect source format to known_marketplaces.json, causing Plugins tab to show empty
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When adding a marketplace through the VSCode "Manage Plugins" UI, the known_marketplaces.json file is written with an incorrect source format ("source": "git" with a full URL), which the native binary does not recognize. As a result, claude plugin marketplace list returns [] and claude plugin list --json --available returns empty arrays, making the Plugins tab permanently empty even after reloading or restarting VSCode.
What Should Happen?
After adding a marketplace through the UI, the Plugins tab should display all available plugins from that marketplace. The UI should write the correct format to known_marketplaces.json (using "source": "github" with "repo": "org/name" for GitHub repositories), consistent with what the CLI claude plugin marketplace add command produces.
Error Messages/Logs
Running the native binary directly after adding via UI:
$ claude plugin marketplace list --json
[]
$ claude plugin list --json --available
{"installed": [], "available": []}
Incorrect format written to ~/.claude/plugins/known_marketplaces.json by UI:
{
"claude-plugins-official": {
"source": {
"source": "git",
"url": "https://github.com/anthropics/claude-plugins-official.git"
},
...
}
}
Correct format written by CLI (claude plugin marketplace add):
{
"claude-plugins-official": {
"source": {
"source": "github",
"repo": "anthropics/claude-plugins-official"
},
...
}
}
Steps to Reproduce
- Open VSCode with Claude Code extension (v2.1.161)
- Open "Manage Plugins" panel
- Go to the "Marketplaces" tab
- Add marketplace:
anthropics/claude-plugins-official - Click "Add" and wait for it to appear in the list
- Switch to the "Plugins" tab
- Observe: Plugins tab is completely empty
Verification via CLI:
$ /path/to/extension/resources/native-binary/claude plugin marketplace list --json
[]
(Returns empty array despite marketplace appearing in the UI)
Workaround: Run the following command to fix it:
$ /path/to/extension/resources/native-binary/claude plugin marketplace add anthropics/claude-plugins-official
After this, the Plugins tab correctly shows 200+ available plugins.
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.161 (darwin-arm64)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Root cause identified: The VSCode extension's "Add Marketplace" UI handler writes known_marketplaces.json using the "source": "git" + full URL format, but the native binary only recognizes the normalized "source": "github" + "repo" format for GitHub repositories. The binary silently ignores any marketplace entry with an unrecognized source type, returning empty arrays without any error message.
The webview's C() function in the extension also has a silent catch {} block when calling listPlugins({includeAvailable: true}), which hides this failure from the user entirely.
Two separate bugs:
- UI writes wrong format to known_marketplaces.json
- Silent failure in webview provides no feedback to user when plugin listing fails
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗