claude plugin list shows all project-scoped installs globally, not just current project
Summary
claude plugin list displays all project-scoped plugin installations across every project, rather than filtering to the current project's context. This makes the output misleading — a plugin installed in 3 different projects appears 3 times in the list, all showing Scope: project.
Steps to reproduce
- Install a plugin with project scope in two or more projects:
```
cd ~/projects/foo
claude plugin install myplugin@mymarketplace
cd ~/projects/bar
claude plugin install myplugin@mymarketplace
```
- From either project, run:
````
claude plugin list
Expected behavior
Only the plugin installations relevant to the current project (and user-scoped installs) are shown. Each plugin appears once.
Actual behavior
Every project-scoped entry in ~/.claude/plugins/installed_plugins.json for that plugin is shown, one line per project. Example with 3 projects:
claude plugin list
Installed plugins:
❯ myplugin@mymarketplace
Version: 0.1.0
Scope: project
Status: ✔ enabled
❯ myplugin@mymarketplace
Version: 0.1.0
Scope: project
Status: ✔ enabled
❯ myplugin@mymarketplace
Version: 0.1.0
Scope: project
Status: ✔ enabled
Root cause (observed)
~/.claude/plugins/installed_plugins.json stores one entry per (plugin, projectPath) pair. The list command appears to render all entries for a plugin without filtering by the current working directory.
Context
- Platform: Linux (Gentoo)
- Shell: bash
Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗