@@ -294,12 +294,25 @@ struct ConfigInstaller {
294294 format: . traecli,
295295 events: defaultEvents ( for: . traecli)
296296 ) ,
297- // Qoder — Claude Code fork
297+ // Qoder — Claude Code fork with its own documented PermissionRequest hook.
298298 CLIConfig (
299299 name: " Qoder " , source: " qoder " ,
300300 configPath: " .qoder/settings.json " , configKey: " hooks " ,
301301 format: . claude,
302- events: defaultEvents ( for: . claude)
302+ events: [
303+ ( " UserPromptSubmit " , 5 , true ) ,
304+ ( " PreToolUse " , 5 , false ) ,
305+ ( " PostToolUse " , 5 , true ) ,
306+ ( " PostToolUseFailure " , 5 , true ) ,
307+ ( " PermissionRequest " , 86400 , false ) ,
308+ ( " Stop " , 5 , true ) ,
309+ ( " SubagentStart " , 5 , true ) ,
310+ ( " SubagentStop " , 5 , true ) ,
311+ ( " SessionStart " , 5 , false ) ,
312+ ( " SessionEnd " , 5 , true ) ,
313+ ( " Notification " , 86400 , false ) ,
314+ ( " PreCompact " , 5 , true ) ,
315+ ]
303316 ) ,
304317 // QoderWork — Qoder's standalone desktop assistant app (not the IDE).
305318 // Claude-format hooks, but user-level ~/.qoderwork/settings.json ONLY
@@ -309,7 +322,20 @@ struct ConfigInstaller {
309322 name: " QoderWork " , source: " qoderwork " ,
310323 configPath: " .qoderwork/settings.json " , configKey: " hooks " ,
311324 format: . claude,
312- events: defaultEvents ( for: . claude)
325+ events: [
326+ ( " UserPromptSubmit " , 5 , true ) ,
327+ ( " PreToolUse " , 5 , false ) ,
328+ ( " PostToolUse " , 5 , true ) ,
329+ ( " PostToolUseFailure " , 5 , true ) ,
330+ ( " PermissionRequest " , 86400 , false ) ,
331+ ( " Stop " , 5 , true ) ,
332+ ( " SubagentStart " , 5 , true ) ,
333+ ( " SubagentStop " , 5 , true ) ,
334+ ( " SessionStart " , 5 , false ) ,
335+ ( " SessionEnd " , 5 , true ) ,
336+ ( " Notification " , 86400 , false ) ,
337+ ( " PreCompact " , 5 , true ) ,
338+ ]
313339 ) ,
314340 // Factory — Claude Code fork (uses "droid" as source identifier)
315341 CLIConfig (
0 commit comments