8 pages for updatedinput.
Titles and paths first, then pages whose text carries it. Each row opens that page as this site last read it.
Intercept and control agent behavior with hooks
Claude Code CLI · in the page
agent-sdk/hooks
…`, `"deny"`, `"ask"`, or `"defer"`), `permissionDecisionReason`, and `updatedInput`. If you return `"defer"`, the turn ends with a result message whose `stop_reason` is `"tool_deferred"`, so you can […
Agent SDK reference - Python
Claude Code CLI · in the page
agent-sdk/python
…, "ask", "defer"]] permissionDecisionReason: NotRequired[str] updatedInput: NotRequired[dict[str, Any]] additionalContext: NotRequired[str] class PostToolUseHookSpecificOutput(TypedDict)…
Agent SDK reference - TypeScript
Claude Code CLI · in the page
agent-sdk/typescript
…e={null} type PermissionResult = | { behavior: "allow"; updatedInput?: Record<string, unknown>; updatedPermissions?: PermissionUpdate[]; toolUseID?: string; } | {…
Handle approvals and user input
Claude Code CLI · in the page
agent-sdk/user-input
…he original (or modified) input return { behavior: "allow", updatedInput: input }; } else { // Deny: tool doesn't execute, Claude sees the message return { behavi…
Manage costs effectively
Claude Code CLI · in the page
costs
…ficOutput: {hookEventName: "PreToolUse", permissionDecision: "allow", updatedInput: (.tool_input + {command: $filtered})}}' else echo "{}" fi ``` </Tab> </Tabs> To verify the setu…
Hooks reference
Claude Code CLI · in the page
hooks
…rts is honored, including `permissionDecision`, `additionalContext`, `updatedInput`, and `systemMessage`, and the hook isn't reported as an error. * [Decision control](#decision-control) lists the d…
Automate actions with hooks
Claude Code CLI · in the page
hooks-guide
…oks#stopfailure) instead. * When multiple `PreToolUse` hooks return [`updatedInput`](/docs/en/hooks#pretooluse) to rewrite a tool's arguments, the last one to finish takes effect. Since hooks run in p…
Monitoring
Claude Code CLI · in the page
monitoring-usage
…accepted call if the permission decision rewrites the tool input via `updatedInput`. Use this attribute to see which command was rejected when `decision` is `"reject"`. * For `"sdk_host_builtin_mcp"…