@@ -89,6 +89,16 @@
8989 "tools": {
9090 "$ref": "#/$defs/Tools",
9191 "description": "Tool configurations"
92+ },
93+ "hooks": {
94+ "additionalProperties": {
95+ "items": {
96+ "$ref": "#/$defs/HookConfig"
97+ },
98+ "type": "array"
99+ },
100+ "type": "object",
101+ "description": "User-defined shell commands that fire on hook events (e.g. PreToolUse)"
92102 }
93103 },
94104 "additionalProperties": false,
@@ -97,6 +107,28 @@
97107 "tools"
98108 ]
99109 },
110+ "HookConfig": {
111+ "properties": {
112+ "matcher": {
113+ "type": "string",
114+ "description": "Regex pattern tested against the tool name. Empty means match all tools."
115+ },
116+ "command": {
117+ "type": "string",
118+ "description": "Shell command to execute when the hook fires"
119+ },
120+ "timeout": {
121+ "type": "integer",
122+ "description": "Timeout in seconds for the hook command",
123+ "default": 30
124+ }
125+ },
126+ "additionalProperties": false,
127+ "type": "object",
128+ "required": [
129+ "command"
130+ ]
131+ },
100132 "LSPConfig": {
101133 "properties": {
102134 "disabled": {