description: Turn on human-in-the-loop approval for a tool, then approve and decline its calls from inside Agentic Chat - the runtime safety gate that asks before a tool runs.
Goal: require approval on a tool, then watch Agentic Chat pause and ask you before it runs - and see what happens when you decline.
This is the runtime half of the safety story: the sandbox and risk model decide what a tool may do; human-in-the-loop (HITL) decides whether this call runs at all. See the feature page and architecture for the full picture.
Prerequisites:
About to run '{toolName}' with {args}. Proceed? - {toolName} and {args} are filled in at call time.!!! note “Above L0, this may already be on”
A tool above risk L0 defaults to Required the moment you author it. If it’s already set, just confirm the mode and move on.
Agentic Chat reaches your published tools through the built-in MCP server.
Ask the agent to do the thing your tool does - for example, “Use the tool to get me the current time.”
When the model decides to call the gated tool, chat stops and a dialog appears:
Click Approve. The tool runs, its result returns to the model, and the answer streams in as usual.
!!! tip “Inspect the arguments before you approve” The dialog shows the exact arguments the model chose. This is your chance to catch a wrong path, a bad amount, or an unintended recipient before the call fires.
Ask again, but this time click Decline.
The tool does not run. Instead the model is told you declined approval and that it should not retry - so it either finds another way or replies that the action couldn’t be completed because you declined. Nothing executed; the decline is recorded in the run.
!!! warning “Approval fails safe” If you don’t answer within two minutes, or close the dialog, the call is treated as declined and does not run. A gated tool only runs on an explicit Approve.