Skip to contentllms.txt

input_modification

Whether hooks can modify tool input arguments before the tool executes. Safety-critical capability — silent degradation creates false security. Minimum qualification: supported when the provider provides any mechanism to modify tool input arguments before execution (e.g., hookSpecificOutput.updatedInput, plugin-mutable args, or equivalent).

Type: bool Content type: hooks

ProviderSupportedMechanism
claude-code✓hook_input_modification: PreToolUse returns updatedInput in hookSpecificOutput; entire input object replaced; compatible with all permissionDecision values except defer
cline✓context_modification_output: Cline PreToolUse hooks can return modified context/input before tool execution
codex✓hook_updated_input: Codex PreToolUse hooks return modified input arguments that replace the original tool input
factory-droid✓PreToolUse hooks return updatedInput in JSON output to modify tool parameters before execution
pi✓tool_call handlers mutate event.input in place to modify tool arguments before execution; later handlers see prior mutations
amp✗Amp hooks cannot modify tool input before execution; only substring match and cancel-with-message are documented
copilot-cli✗Copilot CLI hooks cannot modify tool input before execution
crush✗Hooks receive tool context on stdin and can return context to the agent, but modifying tool input parameters is not documented.
cursor✗Cursor hooks are not documented to rewrite tool input before execution.
gemini-cli✗Gemini CLI hooks cannot modify tool input before execution
kiro✗Kiro hooks cannot modify tool input before execution
opencode✗not documented
roo-code✗not documented
windsurf✗Windsurf hooks cannot modify tool input arguments before execution
zed✗not documented