Claude Code generates an invalid plugin.json (author as string) for marketplace plugins that ship no manifest — /doctor flags it

Resolved 💬 1 comment Opened Jun 4, 2026 by marcel-jackow Closed Jul 8, 2026

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

  1. /plugin marketplace add anthropics/claude-plugins-official
  2. Install csharp-lsp
  3. 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-official plugins/csharp-lsp/ contains

only LICENSE and README.md — no .claude-plugin/plugin.json.

  • The marketplace index (marketplace.json) lists csharp-lsp with

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 author as an object (or omits it), so the generated

manifest passes the same validator; and/or

  • The generator and /doctor validator 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

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗