[Bug] Plugin manifest validation rejects unrecognized keys after installation

Resolved 💬 3 comments Opened Mar 6, 2026 by gregoryorton-ws Closed Mar 9, 2026

Bug Description
Every time I install a plugin, then restart claude, I get an error in the plugins with shit like

   ❯ typescript-lsp (user)
      Plugin typescript-lsp has an invalid manifest file at 
      /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/typescript-lsp/1.0.0/.claude-plugin/plugin.json.

      Validation errors: Unrecognized keys: "source", "category", "strict"
                                        
   ✘ swift-lsp (user)                              
      Plugin swift-lsp has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/swift-lsp/1.0.0/.claude-plugin/plugin.json.

      Validation errors: Unrecognized keys: "source", "category", "strict"

   ✘ superpowers (user)
      Plugin superpowers has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/superpowers/4.3.1/.claude-plugin/plugin.json.

      Validation errors: Unrecognized keys: "category", "source"

   ✘ slack (user)
      Plugin slack has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/slack/1.0.0/.claude-plugin/plugin.json.

      Validation errors: Unrecognized keys: "category", "source"

Yo, I never touched these files. The /plugin command keeps adding this shit. Sort it out.

Environment Info

  • Platform: darwin
  • Terminal: WarpTerminal
  • Version: 2.1.70
  • Feedback ID: 79a77ebf-a767-4124-8a41-06c416cdc37b

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregory.orton/.local/share/claude/versions/2.1.70 (expected in multi-process scenarios)\n    at yb_ (/$bunfs/root/src/entrypoints/cli.js:2589:2066)\n    at pcR (/$bunfs/root/src/entrypoints/cli.js:2589:1210)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:25:18.663Z"},{"error":"Error: Plugin typescript-lsp has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/typescript-lsp/1.0.0/.claude-plugin/plugin.json.\n\nValidation errors: Unrecognized keys: \"source\", \"category\", \"strict\"\n    at iN_ (/$bunfs/root/src/entrypoints/cli.js:2138:15375)\n    at async s1q (/$bunfs/root/src/entrypoints/cli.js:2142:780)\n    at async Nf$ (/$bunfs/root/src/entrypoints/cli.js:2142:9570)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:25:18.678Z"},{"error":"Error: Plugin swift-lsp has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/swift-lsp/1.0.0/.claude-plugin/plugin.json.\n\nValidation errors: Unrecognized keys: \"source\", \"category\", \"strict\"\n    at iN_ (/$bunfs/root/src/entrypoints/cli.js:2138:15375)\n    at async s1q (/$bunfs/root/src/entrypoints/cli.js:2142:780)\n    at async Nf$ (/$bunfs/root/src/entrypoints/cli.js:2142:9570)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:25:18.678Z"},{"error":"Error: Plugin superpowers has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/superpowers/4.3.1/.claude-plugin/plugin.json.\n\nValidation errors: Unrecognized keys: \"category\", \"source\"\n    at iN_ (/$bunfs/root/src/entrypoints/cli.js:2138:15375)\n    at async s1q (/$bunfs/root/src/entrypoints/cli.js:2142:780)\n    at async Nf$ (/$bunfs/root/src/entrypoints/cli.js:2142:9570)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:25:18.678Z"},{"error":"Error: Plugin slack has an invalid manifest file at /Users/gregory.orton/.claude/plugins/cache/claude-plugins-official/slack/1.0.0/.claude-plugin/plugin.json.\n\nValidation errors: Unrecognized keys: \"category\", \"source\"\n    at iN_ (/$bunfs/root/src/entrypoints/cli.js:2138:15375)\n    at async s1q (/$bunfs/root/src/entrypoints/cli.js:2142:780)\n    at async Nf$ (/$bunfs/root/src/entrypoints/cli.js:2142:9570)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:25:18.678Z"},{"error":"AbortError: The operation was aborted.\n    at unknown\n    at abortChildProcess (node:child_process:935:42)\n    at onAbortListener2 (node:child_process:35:24)","timestamp":"2026-03-06T06:30:33.976Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/gregory.orton.\n    at call (/$bunfs/root/src/entrypoints/cli.js:1447:5979)\n    at async Os$ (/$bunfs/root/src/entrypoints/cli.js:3657:14914)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-06T06:32:04.573Z"}]

View original on GitHub ↗

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