[BUG] VS Code plugin manager never renders manifest.version for installed plugins, although the host already sends it
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?
The VS Code extension's Manage Plugins dialog (opened via /plugins) lists every installed plugin by id only. No version is shown for any of them, so there is no way to tell from the UI which version of a plugin is actually active.
This is not a missing-data problem. The extension host already sends the version to the webview and the webview simply does not render it.
Extension host, extension.js, building the list_plugins_response payload for installed plugins:
manifest:{name:s.id,version:s.version},path:s.installPath,source:s.id,enabled:s.enabled,mcpServers:s.mcpServers}
Webview, webview/index.js, rendering an installed plugin row:
E("div",{className:Pt.pluginName,children:[b("span",{className:zi?Pt.statusDotEnabled:Pt.statusDotDisabled}),Kt.manifest.name]}),
Kt.manifest.description&&b("div",{className:Pt.pluginDescription,children:Kt.manifest.description}),
Only manifest.name is read. manifest.version is present in the same object and is never referenced anywhere in the installed-row render path. (manifest.description is read but is never populated by the host for installed plugins, so that line is dead as well.)
For contrast, the Available section a few lines below does render extra metadata (entry.description, install count, from <marketplace>), which is why the asymmetry is easy to miss.
The CLI has the information and shows it correctly:
$ claude plugin list
Installed plugins:
> assembly-line@smoochy-marketplace
Version: 0.5.0
Scope: user
Status: enabled
The same value is also persisted in ~/.claude/plugins/installed_plugins.json per install entry.
The practical impact is that the only in-UI way to know which version is active is to leave the UI. This matters most for plugins vendored from upstream sources, where the marketplace and the upstream project version independently and the installed version is the only thing that identifies what is really loaded.
Related but distinct: #78645 asks for the git ref to be surfaced and explicitly assumes the version is already displayed alongside it. This report is about version itself not being rendered at all in the installed list.
Steps to Reproduce
- Install any plugin whose
plugin.jsondeclares aversion, for example from a marketplace. - In VS Code, run
/pluginsto open theManage Pluginsdialog. - Look at the
Installedsection.
Every row shows <name>@<marketplace> and nothing else. Run claude plugin list in a terminal and the version is there.
Expected Behavior
The installed plugin row should show manifest.version when it is set, in the same way the Available section shows its metadata. Rendering it next to the name, or as a second line under it, would be enough.
The value is already in the props, so this is a rendering change in the webview rather than a data-plumbing change.
Environment
- Claude Code CLI: 2.1.241
- VS Code extension: anthropic.claude-code 2.1.241 (win32-x64)
- OS: Windows 11 Pro 26200
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗