Skip to content

hooks.json: Claude Code warns about unknown keys "$schema" and "description" on every session start #13

Description

@itadmin-art

Summary

On every session start, Claude Code prints this validation warning for the plugin's hook config:

everything-claude-code: hooks.json: unknown keys "$schema", "description" in hooks.PreToolUse[0], "description" in hooks.PreToolUse[1], "description" in hooks.PreToolUse[2], "description" in hooks.PreToolUse[3] and 10 more ignored

Claude Code validates hooks/hooks.json against its hook schema and strips keys it does not recognise. Two keys in the file are not part of that schema:

  • the top-level "$schema": "https://json.schemastore.org/claude-code-settings.json" (editor-only autocomplete hint)
  • the "description" field on each of the 14 hook entries across PreToolUse, PostToolUse, Stop, SessionStart, SessionEnd, and PreCompact

That is 15 keys in total, matching "4 shown + 10 more".

Impact

Cosmetic only. All 14 hook commands still register and run, since matcher and hooks are valid. But the warning appears on every launch for every user of the plugin, and looks like something is broken.

Suggested fix

Remove $schema and the per-entry description keys from hooks/hooks.json. If keeping the human-readable descriptions is important, move them into a comment block in the README or a sibling hooks/README.md, since the hook schema has no supported place for them.

Verified locally: after stripping those 15 keys the file parses, all six events and 14 commands are intact, and the warning no longer appears.

Environment

  • Plugin commit: 432485b (2026-01-23, "docs: add WorldFlowAI setup guide"); the current main still contains the keys
  • Claude Code on Windows 11 (the warning is platform-independent)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions