[Bug] Plugin TUI validation rejects agents array while CLI install succeeds

Resolved 💬 3 comments Opened Dec 13, 2025 by yebot Closed Feb 14, 2026

Plugin TUI installation fails validation but one-shot command works

Description:

  • Plugin with agents array fails validation in /plugin TUI menu with "agents: Invalid input"
  • Same plugin installs successfully via one-shot command /plugin install plugin-name@marketplace
  • All TUI installation scope options (user, project, local) produce the error
  • One-shot command works for all scopes

Reproduction:

  1. Create plugin with agents array in plugin.json
  2. Try to install via /plugin → Browse → Select plugin → Any install option → Error
  3. Install via /plugin install react-native-dev-team@rad-cc-plugins → Success

Plugin manifest that fails TUI but works CLI:

  {
    "name": "react-native-dev-team",
    "version": "1.1.10",
    "description": "React Native and Expo development toolkit",
    "author": { "name": "Tobey Forsman" },
    "agents": [
      {
        "name": "react-native-engineer",
        "source": "./agents/react-native-engineer.md",
        "description": "React Native & Expo engineer"
      }
    ]
  }

Environment Info

  • Platform: darwin
  • Terminal: WarpTerminal
  • Version: 2.0.68
  • Feedback ID: d765b344-e6e8-49a0-b0da-336502ba9a25

Errors

[{"error":"Error: Plugin component file not found: /Users/space/.claude/plugins/cache/claude-code-workflows/database-design/1.2.0/skills/postgresql for database-design\n    at PP3 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:9527)\n    at async jP3 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:5709)\n    at async file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:14558\n    at async T_ (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1073:27227)\n    at async PJ0.<anonymous> (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4699:669)\n    at async PJ0.parseAsync (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4403:4156)\n    at async YF5 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4750:1647)\n    at async BF5 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4686:1663)\n    at async XF5 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4751:6559)","timestamp":"2025-12-13T00:37:55.779Z"},{"error":"ZodError: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"array\",\n    \"received\": \"undefined\",\n    \"path\": [\n      \"hooks\",\n      \"PreToolUse\",\n      0,\n      \"hooks\"\n    ],\n    \"message\": \"Required\"\n  },\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"array\",\n    \"received\": \"undefined\",\n    \"path\": [\n      \"hooks\",\n      \"PostToolUse\",\n      0,\n      \"hooks\"\n    ],\n    \"message\": \"Required\"\n  },\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"array\",\n    \"received\": \"undefined\",\n    \"path\": [\n      \"hooks\",\n      \"UserPromptSubmit\",\n      0,\n      \"hooks\"\n    ],\n    \"message\": \"Required\"\n  }\n]\n    at get error (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:413:27070)\n    at MJ.parse (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:413:20339)\n    at ZFB (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:278)\n    at IFB (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:3214)\n    at PP3 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:7453)\n    at async jP3 (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:5709)\n    at async file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1045:14558\n    at async T_ (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1073:27227)\n    at async PJ0.<anonymous> (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4699:669)\n    at async PJ0.parseAsync (file:///Users/space/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:4403:4156)","timestamp":"2025-12-13T00:37:55.801Z"},{"error":"ZodError: [\n  {\n    \"code\": \"invalid_type\",\n    \"expected\": \"array\",\n    \"received\": \"undefined\",\n  

Note: Error logs were truncated.

View original on GitHub ↗

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