--plugin-dir accepts either a single plugin or a folder holding several plugins. Its debug message, the detailed log you can turn on, now says what marks a folder as a single plugin. When a folder has nothing at its top marking it as one plugin, the message says so. It also says when a marketplace root was loaded as a folder of plugins.
Why
If a plugin does not load the way you expected, the log tells you how Claude Code read the folder and why.
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeFixed --plugin-dir on a folder of plugins that also has a .claude-plugin/marketplace.json loading one empty plugin instead of the plugins in…