Skip to content

agent-hooks-invalid-schema

Hook configuration in agents.json violates schema requirements

From plugin
claudelint
1513 skills13 agents1 command1 hook

Claude Code

> /plugin marketplace add pdugan20/claudelint
> /plugin install claudelint@claudelint

Agent definition

agent-hooks-invalid-schema.md
description: "Hook configuration in agents.json violates schema requirements"

agent-hooks-invalid-schema

<RuleHeader description="Hook configuration in agents.json violates schema requirements" severity="error" :fixable="false" :configurable="false" category="Agents" />

Rule Details

This rule checks that hooks declared in agents.json have the correct structure and all required fields. Hook objects must include valid event names (e.g., PreToolUse, PostToolUse, SessionStart, TaskCompleted) and properly structured matchers. Validation is performed by AgentsValidator.validateFrontmatter() using the shared validateSettingsHooks() utility. Invalid hook schemas cause runtime failures when the agent framework attempts to register event handlers.

Incorrect

Hook with missing required command field

{
  "hooks": {
    "PreToolUse": [
      { "matcher": "Bash" }
    ]
  }
}

Hook with invalid event name

{
  "hooks": {
    "OnStart": [
      { "matcher": ".*", "command": "echo hi" }
    ]
  }
}

Correct

Properly structured hook with all required fields

{
  "hooks": {
    "PreToolUse": [
      { "matcher": "Bash", "command": "echo pre-check" }
    ]
  }
}

How To Fix

Ensure each hook entry has a valid event name key (PreToolUse, PostToolUse, PostToolUseFailure, PermissionRequest, UserPromptSubmit, Notification, Stop, SubagentStart, SubagentStop, PreCompact, SessionStart, SessionEnd, TeammateIdle, or TaskCompleted) and that each matcher object includes the required fields.

Options

This rule does not have any configuration options.

Related Rules

  • [`agent-hooks`](/rules/agents/agent-hooks)
  • [`hooks-invalid-event`](/rules/hooks/hooks-invalid-event)

Resources

  • [Rule Implementation](https://github.com/pdugan20/claudelint/blob/main/src/rules/agents/agent-hooks-invalid-schema.ts)
  • [Rule Tests](https://github.com/pdugan20/claudelint/blob/main/tests/rules/agents/agent-hooks-invalid-schema.test.ts)

Version

Available since: v0.2.0

Read more
@pdugan20
Ships withclaudelint

A linter for Claude Code projects. Validates CLAUDE.md files, skills, settings, hooks, MCP servers, plugins, and more.

Stars on GitHub

Momentum

stars in total
15
Star history of pdugan20/claudelint on GitHub, a chart by star-history.com

Other agents on claudelint.

claude-md-optimizer
Auto-invoked

claude-md-optimizer

Agent

Use this agent when the user wants to autonomously validate and optimize their CLAUDE.md files. This agent runs claudelint…

@pdugan20@pdugan20Install Agent

More agents from other plugins.

a11y-architect
Auto-invoked

a11y-architect

Agent

Accessibility Architect specializing in WCAG 2.2 compliance for Web and Native platforms. Use PROACTIVELY when designing UI…

ecc2w293k
@affaan-m@affaan-mInstall Agent
analyze-pass-impact

analyze-pass-impact

Agent

Analyzes how a specific topic affects a group of compiler passes. Used by the /plan-update skill to parallelize research across…

react5d252k
@facebook@facebookInstall Agent
orchestrator

orchestrator

Agent

- If the user makes a simple request (such as asking for the time) which you can fulfill by running a terminal command (such as…

codex5d135k
@openai@openaiInstall Agent
cavecrew-builder

cavecrew-builder

Agent

Surgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…

caveman6d119k
@juliusbrussee@juliusbrusseeInstall Agent

Questions about agent-hooks-invalid-schema.

Which coding agents can use agent-hooks-invalid-schema?
agent-hooks-invalid-schema installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.