[BUG] Plugin install rejects "agents" as string — documented format fails validation

Resolved 💬 2 comments Opened Mar 19, 2026 by srs-adamr Closed Apr 16, 2026

Summary

plugin install rejects "agents": "./agents/" (string) in plugin.json with agents: Invalid input, even though the Plugin manifest schema docs explicitly declare the field as string|array.

This blocks installation of 3 of the 10 plugins in Microsoft's official dotnet/skills marketplace (dotnet-diag, dotnet-msbuild, dotnet-template-engine).

Steps to Reproduce

# Add the dotnet/skills marketplace
claude plugin marketplace add dotnet/skills

# Install a plugin that uses string format for agents
claude plugin install dotnet-diag@dotnet-agent-skills

Result:

✘ Failed to install plugin "dotnet-diag@dotnet-agent-skills": Plugin has an invalid manifest file at
  /Users/.../.claude/plugins/cache/temp_local_.../plugin.json.
  Validation errors: agents: Invalid input

The plugin.json being rejected:

{
  "name": "dotnet-diag",
  "version": "0.1.0",
  "description": "Skills for .NET performance investigations, debugging, and incident analysis.",
  "skills": "./skills/",
  "agents": "./agents/"
}

Note that the skills field uses the same string format ("./skills/") and is accepted. Only agents fails validation.

Plugins without the agents field install successfully from the same marketplace (e.g., dotnet-data, dotnet-upgrade, dotnet-test — all 7 without agents installed fine).

Expected Behavior

"agents": "./agents/" should be accepted, matching the documented string|array type and the behavior of the skills field.

Environment

  • Claude Code: 2.1.79
  • Platform: macOS (Darwin 25.3.0, ARM64)

Prior Issues

  • #21598 — Same bug reported, auto-closed and locked without fix
  • #13927 — Related Zod validation error for agents array of objects, also auto-closed
  • dotnet/skills#350 — Microsoft's report of the same issue from the consumer side

Impact

This blocks installation of Microsoft's dotnet-diag (performance anti-patterns, trace collection, benchmarking), dotnet-msbuild (build diagnostics, anti-patterns, incremental builds), and dotnet-template-engine (template discovery/authoring) — arguably the most valuable plugins in their marketplace.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗