anthropics / anthropics/claude-code

ListPlugins returns empty for an enabled user-scope plugin whose skills are loaded

Đang mở
#94,227 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:plugins bug platform:macos
Ngôn ngữ chính
Python
Star
145k
Fork
23.1k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

## Summary

The `ListPlugins` tool returns `{"results":[]}` for a plugin that is installed, enabled in `settings.json`, and whose skills and agents are demonstrably loaded into the session. Asking Claude "what plugins am I running?" therefore gets an answer of "none" unless it falls back to reading the plugin manifests off disk.

## Environment

- Claude desktop app (Code tab), version 1.52386.0
- macOS (Darwin 25.6.0), zsh
- Plugin: `fm-rcc@rcc-fm` v0.7.0, **user scope**, installed from a third-party git marketplace (`https://github.com/FMTrainingTV-AI/rcc-fm.git`)

## Steps to reproduce

1. Install a plugin at user scope from a git marketplace (`/plugin marketplace add `, then install).
2. Confirm it is enabled in `~/.claude/settings.json` under `enabledPlugins`.
3. Start a session and ask Claude what plugins are running, so it calls `ListPlugins`.

## Expected

`ListPlugins` lists `fm-rcc@rcc-fm`.

## Actual

```
ListPlugins() -> {"results":[]}
ListPlugins(keywords: ["filemaker", "fm-rcc"]) -> {"results":[]}
```

Both the no-argument and keyword-filtered forms return empty, so this is not a query-handling quirk in the filter path.

## Evidence the plugin really is loaded

- `~/.claude/settings.json` contains `"enabledPlugins": { "fm-rcc@rcc-fm": true }`
- `~/.claude/plugins/installed_plugins.json` records the plugin at user scope with a valid `installPath`, version `0.7.0`, and a git commit SHA
- The install path exists and contains a well-formed `.claude-plugin/plugin.json` (`name`, `version`, `description`, `author` all present) plus `skills/`, `agents/`, and `commands/` directories
- The marketplace checkout at `~/.claude/plugins/marketplaces/rcc-fm` is intact, and its `.claude-plugin/marketplace.json` lists the plugin correctly
- An in-use marker `/.in_use/` was stamped for the current session's process, i.e. the harness itself checked the plugin out for this session
- All 18 of the plugin's skills and both of its agents are present in the session's skill/agent listings, namespaced `fm-rcc:*`

So the harness clearly knows about the plugin; only `ListPlugins` fails to report it.

## Guesses at the cause

Not verifiable from outside the tool, but two candidates:

1. `ListPlugins` reads a session/host-level plugin registry rather than `installed_plugins.json`, and that registry is not populated for plugins installed outside the `SuggestPluginInstall` flow. The tool's own description frames it partly as "confirm what was installed after a SuggestPluginInstall card", which hints the data source is tied to that path.
2. It filters by scope and skips user-scope plugins (or skips third-party marketplaces).

## Impact

Low severity, but actively misleading: the tool is the designated way to answer "what plugins do I have", and it silently disagrees with both `enabledPlugins` and the skills actually loaded. Anyone debugging a plugin that genuinely is not loading will get a false confirmation that it is not installed, and Claude will confidently report "no plugins" unless it independently reads the manifests.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Locate the ListPlugins implementation and the code that builds its plugin registry; no source file is named in the report. Reproduce the case with an enabled user-scope plugin from a git marketplace, then verify that both unfiltered and keyword-filtered calls list fm-rcc@rcc-fm while the existing plugin and skill evidence remains valid.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
git, python
Lĩnh vực
cli, tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.