Skip to content

[BUG] plugin.json userConfig.hookProfile incompatible with Claude Code 2.1.x - manifest validation fails #4

Description

@liran-1988

Bug Description

Plugin installation fails with manifest validation error on Claude Code 2.1.x.

Error

Error: Failed to install: Plugin has an invalid manifest file at ...\.claude-plugin\plugin.json.
Validation errors: userConfig.hookProfile.title: Invalid input: expected string, received undefined, userConfig.hookProfile: Unrecognized key: "enum"

Steps to Reproduce

  1. Claude Code version: 2.1.104 (latest)
  2. Run /plugin marketplace add xiaobei930/cc-best
  3. Try to install cc-best plugin
  4. Error appears before installation completes

Root Cause

In .claude-plugin/plugin.json, the userConfig.hookProfile field uses schema fields not supported by Claude Code 2.1.x validator:

"hookProfile": {
  "type": "string",
  "enum": ["minimal", "standard", "full"],
  "default": "full",
  "description": "..."
}

Claude Code 2.1.x only accepts title as a string for userConfig fields. The enum and description keys cause validation to fail.

Expected Fix

"hookProfile": {
  "title": "Hook execution tier: minimal (safety only), standard (safety + quality), full (all hooks)",
  "type": "string",
  "default": "full"
}

Or remove userConfig.hookProfile entirely (the hook tier can be set via settings.local.json).

Environment

  • OS: Windows 11
  • Claude Code: 2.1.104
  • cc-best: v0.10.0
  • Node.js: 22.x

Additional Context

The v0.10.0 release notes say "compatible with Claude Code v2.1.97" but the plugin.json was not updated to match the actual validator schema.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions