Claude Code generates an invalid plugin.json (author as string) for marketplace plugins that ship no manifest — /doctor flags it
What's Wrong?
When a marketplace plugin ships no .claude-plugin/plugin.json, Claude Code
synthesizes one into the cache — but the generated manifest sets author as a
string, which its own validator rejects. /doctor then reports the plugin
as having an invalid manifest.
This is the reverse direction of #60725 / #31763 (user-authored string-author
manifests being rejected): here Claude Code is the producer of the invalid
manifest, not the user.
Steps to Reproduce
/plugin marketplace add anthropics/claude-plugins-official- Install
csharp-lsp - Run
/doctor
Actual
Plugin errors
└ 1 plugin error(s) detected:
└ csharp-lsp@claude-plugins-official [csharp-lsp]: Plugin csharp-lsp has an
invalid manifest file at
~/.claude/plugins/cache/claude-plugins-official/csharp-lsp/1.0.0/.claude-plugin/plugin.json.
The generated file:
{
"name": "csharp-lsp",
"description": "C# Language Server Protocol support",
"version": "1.0.0",
"author": "Claude Code",
"license": "MIT"
}
author is a string; the manifest schema requires an object ({ "name": "..." }).
Evidence it's generated, not shipped
- Upstream
anthropics/claude-plugins-officialplugins/csharp-lsp/contains
only LICENSE and README.md — no .claude-plugin/plugin.json.
- The marketplace index (
marketplace.json) listscsharp-lspwith
author as an object ({ "name": "Anthropic", "email": "support@anthropic.com" }).
- The generated cache manifest instead hardcodes
"author": "Claude Code"as a
string — so it's neither copied from the marketplace entry nor from a
shipped file; it's synthesized with a bad default.
Expected
Either:
- The synthesizer emits
authoras an object (or omits it), so the generated
manifest passes the same validator; and/or
- The generator and
/doctorvalidator share one schema (cf. #62400).
Impact
Cosmetic — the LSP works (verified: csharp-ls spawns and resolves document
symbols normally). But /doctor shows a persistent error for an
Anthropic-published plugin, and patching the cache file is reverted on refresh.
Environment
- Claude Code: 2.1.162
- OS: Windows 11
- Marketplace: anthropics/claude-plugins-official
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗