Bug Description
Two vertical plugins fail to load on Claude Code 2.1+ due to invalid hooks.json schema. The files contain an empty array [], but the current Claude Code plugin loader expects either no hooks/ directory at all or a hooks.json containing a valid object (record keyed by hook event name).
Affected Files
plugins/vertical-plugins/financial-analysis/hooks/hooks.json
plugins/vertical-plugins/equity-research/hooks/hooks.json
Both files currently contain:
Error Message
Hook load failed: [
{
"expected": "record",
"code": "invalid_type",
"path": [],
"message": "Invalid input: expected object, received array"
}
]
Reproduction
claude plugin marketplace add anthropics/financial-services
claude plugin install financial-analysis@claude-for-financial-services
claude plugin install equity-research@claude-for-financial-services
claude plugin list
Both plugins show Status: ✘ failed to load.
Environment
- Claude Code version: 2.1.85
- OS: Windows 11
Suggested Fix
Either:
- Remove the empty
hooks/ directories from both plugins (simplest — neither plugin actually defines hooks), or
- Replace file contents with
{} (empty object instead of empty array)
Option 1 is cleaner since there's no reason to ship an empty hooks file.
Workaround
Users can manually delete the directories after install:
rm -rf ~/.claude/plugins/cache/claude-for-financial-services/financial-analysis/0.1.0/hooks
rm -rf ~/.claude/plugins/cache/claude-for-financial-services/equity-research/0.1.0/hooks
After this, both plugins load successfully.
Bug Description
Two vertical plugins fail to load on Claude Code 2.1+ due to invalid
hooks.jsonschema. The files contain an empty array[], but the current Claude Code plugin loader expects either nohooks/directory at all or ahooks.jsoncontaining a valid object (record keyed by hook event name).Affected Files
plugins/vertical-plugins/financial-analysis/hooks/hooks.jsonplugins/vertical-plugins/equity-research/hooks/hooks.jsonBoth files currently contain:
Error Message
Reproduction
Both plugins show
Status: ✘ failed to load.Environment
Suggested Fix
Either:
hooks/directories from both plugins (simplest — neither plugin actually defines hooks), or{}(empty object instead of empty array)Option 1 is cleaner since there's no reason to ship an empty hooks file.
Workaround
Users can manually delete the directories after install:
After this, both plugins load successfully.