[BUG] Plugin and marketplace source refs not surfaced in UI — users cannot see which channel or plugin version they are tracking
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?
Two distinct ref values can be specified in Claude Code's plugin/marketplace configuration but are never displayed in the UI:
1. Marketplace source ref (which channel of the marketplace the user is tracking)
When a user adds a marketplace pinned to a specific branch or tag (e.g. #stable), that
ref is persisted in settings.json under extraKnownMarketplaces.<name>.source.ref.
However it is not shown anywhere in the Marketplaces UI tab. Users cannot tell from the
UI whether they are on #stable, #main, or no ref at all (default branch).
2. Plugin source ref (which tag/branch of the plugin repo was fetched)
When a marketplace entry points to a plugin via a git source with a ref field (e.g."ref": "v1.0.1"), that ref is used to fetch the plugin content but is never displayed
in the Discover or Installed UI views. The internal SHA is used for update detection and
appears in plugin list CLI output, but the human-readable tag name is discarded for
display purposes.
Both pieces of information are meaningful to users and are already present in Claude
Code's local state — they are simply not surfaced.
What Should Happen?
Both refs should be independently surfaced in the UI, each in the appropriate context.
They serve different purposes and should be treated as distinct, complementary pieces
of information — not conflated with the version field.
1. Marketplace source ref — shown in the Marketplaces tab
The Marketplaces tab should display the ref a marketplace was added with (e.g. stable,main), so users can see at a glance which channel they are tracking. Where no ref was
specified, this could be shown as the default branch or omitted.
2. Plugin source ref — shown in Discover and Installed views
When a plugin entry's git source includes a ref field, that value should be displayed
in the plugin UI alongside the version (if present) or in its absence. This is
independent of the version field — both could reasonably be shown together if both
are set:
version: "1.0.1"— display label set by the marketplace authorref: "v1.0.1"— the git ref the plugin was fetched from
A plugin entry with only a ref and no version should still show the ref value
rather than nothing.
Neither ref is a substitute for the other, and neither is a substitute for version.
They answer different questions:
version— "what version did the author label this?"- plugin
ref— "what tag/branch was this fetched from?" - marketplace
ref— "which channel of this marketplace am I tracking?"
Error Messages/Logs
No error. The UI simply shows no version string or channel information where one would be expected.
`/plugin list` output (with no `version` field, plugin source has `ref: "v1.0.1"`):
* ver-test-plugin@ver-test-marketplace (d4a6a963c383, user) enabled
`/plugin list` output (with explicit `version: "1.0.1"`):
* ver-test-plugin@ver-test-marketplace (v1.0.1, user) enabled
The SHA is used internally for update detection but is not the same as a human-readable
version or ref.
Steps to Reproduce
Marketplace ref not shown:
- Add a marketplace pinned to a ref:
/plugin marketplace add git@gitlab.example.com:org/marketplace.git#stable
- Open
/plugin→ Marketplaces tab
Observed: No ref/channel information shown for the marketplace entry
Expected: The marketplace entry shows it is tracking stable
---
Plugin source ref not shown:
- Create a plugin repo with no
versioninplugin.json - Tag a commit:
git tag v1.0.1 && git push origin v1.0.1 - In a marketplace repo, create an entry:
``json`
{
"name": "my-plugin",
"source": {
"source": "url",
"url": "git@gitlab.example.com:org/plugin-repo.git",
"ref": "v1.0.1"
},
"description": "My plugin"
}
"version"` field)
(no
- Add the marketplace and install the plugin
- Open
/plugin→ Discover tab, then Installed tab
Observed: No version or ref shown for the plugin in either view
Expected: The plugin shows v1.0.1 (from ref) in both views
Note: Adding "version": "1.0.1" to the marketplace entry causes v1.0.1 to display,
confirming the UI has the plumbing — it just does not fall back to or independently
show the ref value.
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1
Platform
AWS Bedrock
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Related issue: #76467 — also concerns ref-pinned marketplaces, but that issue is about
inability to update a marketplace pinned to a version tag. This issue is solely about
display/visibility of ref values that are already present in local state.
These two gaps combine to make channel-based distribution (e.g. #stable vs #main
marketplace channels, with plugin entries pinned to semver tags) opaque to end users.
Users must read ~/.claude/settings.json and~/.claude/plugins/marketplaces/<name>/.claude-plugin/marketplace.json directly to
determine what they are running.
Tested on Claude Code 2.1.x, Windows 11, GitLab SSH source.