{"version":"2.1.317","anchor":"agent-hooks-gain-a-schema-and-an-mcp-tool-hook-type","canonical_anchor":"hook-config-loader-gains-agent-and-mcp-tool-hook-kinds-behin","heading":"New agent and mcp_tool hook types, enabled through a remote list","tier":"notice","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/agent-hooks-gain-a-schema-and-an-mcp-tool-hook-type","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### New agent and mcp_tool hook types, enabled through a remote list\n\nHooks gain `agent` and `mcp_tool` types, accepted only when the remote `tengu_woven_ladder` list names them\n\n**Unclear.** Whether these hook types behave differently from before, or are only described more fully, is not clear.\n\n**What**\n\nHooks are commands or prompts you configure to run automatically at certain moments, such as before a tool runs. Two new hook types are being added:\n\n- An `agent` hook type, with the fields `prompt`, `if`, `timeout`, `model`, `status_message` and `once`.\n\n- An `mcp_tool` hook type, which calls a tool on an MCP server (an add-on that supplies tools), with `server`, `tool`, `input`, `if`, `timeout`, `status_message` and `once`.\n\n- Hooks of these types are only accepted when a list fetched from Anthropic's remote settings, `tengu_woven_ladder`, contains \"agent\" or \"mcp_tool\". The list defaults to empty, and with it empty these hooks are treated as an unknown kind, as before. Nothing has been read about this list yet.\n\n- `mcp_tool` hooks are kept in a separate \"not connected\" group, their number is capped, and their server name must match a pattern. A pattern for plugin-qualified names (`plugin:<name>:...`) is also added.\n\n- A new error says `mcp_tool` hooks are not available for a hook event that has no MCP connection behind it, naming the event.\n\nBefore, only prompt and command hooks were read.\n\n**Why**\n\nOnce enabled, hooks could start a subagent or call an MCP tool directly. If you configure an `mcp_tool` hook on an event that does not support it, you now get an explicit error.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 5\/5\n- Signal: 5\/5\n- Scope: individual\n- Heads-up: no"}