diff --git a/src/hooks/claude-code-hooks/pre-tool-use.ts b/src/hooks/claude-code-hooks/pre-tool-use.ts index 97bfaf04a..2d949d2d3 100644 --- a/src/hooks/claude-code-hooks/pre-tool-use.ts +++ b/src/hooks/claude-code-hooks/pre-tool-use.ts @@ -143,9 +143,9 @@ export async function executePreToolUseHooks( output.suppressOutput !== undefined || output.systemMessage !== undefined - if (decision || hasCommonFields) { + if (decision === "deny" || decision === "ask") { return { - decision: decision ?? "allow", + decision, reason, modifiedInput, elapsedMs: Date.now() - startTime, @@ -158,6 +158,11 @@ export async function executePreToolUseHooks( systemMessage: output.systemMessage, } } + + // "allow" — apply modifiedInput but continue processing remaining hooks + if (modifiedInput) { + Object.assign(stdinData.tool_input, objectToSnakeCase(modifiedInput)) + } } catch { } }