{"version":"2.1.317","anchor":"hook-runner-supports-non-command-hook-types-and-waits-on-set","canonical_anchor":"hook-runner-supports-non-command-hook-types-and-waits-on-set","heading":"Hook runner can run hook types other than shell commands","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/hook-runner-supports-non-command-hook-types-and-waits-on-set","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### Hook runner can run hook types other than shell commands\n\nThe part of Claude Code that runs hooks can now run hook types other than shell commands, where before it ran only command hooks\n\n**Unclear.** It is not clear when Claude Code runs hooks through this path for non-command hooks, so whether your own hooks are affected is unknown.\n\n**What**\n\nHooks are your own actions that Claude Code runs automatically at set moments. The part of Claude Code that runs them used to handle only command hooks, which run a shell command. It can now handle other hook types too:\n\n- Prompt and agent hooks: reported as applying, without being run on this path.\n\n- Other non-command hooks: run directly, with an exit status returned.\n\nFor hooks that do not come from a command, Claude Code may first wait for your settings to finish loading.\n\n**Why**\n\nOn this path, hooks other than command hooks can now actually be run.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}