fix(hooks): use object schema in hooks.json across vertical plugins#200
Open
darwin7381 wants to merge 1 commit into
Open
fix(hooks): use object schema in hooks.json across vertical plugins#200darwin7381 wants to merge 1 commit into
darwin7381 wants to merge 1 commit into
Conversation
The vertical plugins financial-analysis, equity-research, private-equity,
and wealth-management ship hooks/hooks.json as an empty array (`[]`),
but Claude Code's plugin loader validates the file against an object
schema and rejects it with:
Invalid input: expected object, received array
Captured via `claude --debug-file <path>`:
[ERROR] Failed to load hooks for financial-analysis: [
[ERROR] Failed to load hooks for wealth-management: [
[ERROR] Failed to load hooks for private-equity: [
[ERROR] Failed to load hooks for equity-research: [
[DEBUG] Plugin not available for MCP: ... - error type: hook-load-failed
Consequences:
- Plugins show as "failed to load" in `claude plugin list`
- Bundled MCP servers (FactSet, S&P, Daloopa, etc.) are disabled
- Skills and slash commands degrade — Claude falls back to LLM-inferred
workflows rather than the canonical plugin skills
`investment-banking` already uses the correct `{"hooks": {}}` schema and
loads cleanly, confirming the desired format.
This change aligns the four affected plugins with that schema so they
load and expose their MCP servers, skills, and slash commands as
intended.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hooks/hooks.jsonships as an empty array ([]) in 4 vertical plugins (financial-analysis, equity-research, private-equity, wealth-management), but Claude Code's plugin loader validates the file against an object schema and rejects withInvalid input: expected object, received array.{\"hooks\": {}}format already used byinvestment-banking.Reproduction
Captured via `claude --debug-file `:
```
[ERROR] Failed to load hooks for financial-analysis: [
[ERROR] Failed to load hooks for wealth-management: [
[ERROR] Failed to load hooks for private-equity: [
[ERROR] Failed to load hooks for equity-research: [
[DEBUG] Plugin not available for MCP: ... - error type: hook-load-failed
```
Also reproducible via `claude plugin validate `:
```
✘ Found 1 error:
❯ root: Invalid input: expected object, received array
✘ Validation failed
```
Consequences before fix
After fix
Test plan
🤖 Generated with Claude Code