Tool Approval (HITL)
Some MCP tools do things — query a database, call an external API, trigger an action in another system. Tool approval (human-in-the-loop, or HITL) puts the user in control: before the AI runs such a tool, WizChat pauses and asks the user to approve it. Nothing happens until the user chooses.
The approval prompt
When a tool needs approval, an in-chat dialog appears with the details of what's about to run:
- Server — which MCP server the tool belongs to
- Tool — the tool name being called
- Show arguments — a collapsible view of the exact arguments the AI wants to pass (toggle Show arguments / Hide arguments)
The dialog is titled "Approve action?" and explains, in plain language, that the action needs the user's OK before it runs — allow it to continue, or deny to cancel.
The three choices
| Button | What it does |
|---|---|
| Deny | Cancels the tool call. The AI does not run it. |
| Allow once | Runs the tool this one time. The user is asked again next time. |
| Always allow | Runs the tool and remembers the choice, so the user isn't asked again for this tool (see How "Always allow" is remembered). |
How "Always allow" is remembered
Always allow persists per tool (not per server) — approving one tool doesn't approve the others on the same server.
The choice is saved to the signed-in user's own preferences, so it only sticks for signed-in users. For anonymous (not-signed-in) users, the Always allow button is hidden for MCP tools, because there's no signed-in account to attach the preference to — those users see only Allow once and Deny.
The preference is stored per user. It applies to that user's future conversations with the chatbot; it does not change the approval behavior for other users.
Web search is conversation-scoped
The built-in web search tool uses the same dialog, but its approval works a little differently:
- The dialog is titled "Allow web search?" and notes that the search will look at public websites outside the chatbot's knowledge base.
- Always allow here applies only to the current conversation — the dialog states this explicitly. Starting a new conversation asks again.
- Because it's scoped to the conversation (not to a signed-in account), Always allow for web search is offered to everyone, including anonymous users.
Skip the prompt with Auto-approve
Users who don't want to be asked every time can turn a tool's prompt off from the MCP menu (the plug icon in the chat).
Open the MCP menu, select the server, and each tool row has an Auto checkbox — "Auto-approve: skip confirmation prompts when the agent calls this tool." Tools with auto-approve on show an AUTO badge.
This is the same underlying preference as choosing Always allow in the dialog: it's per tool, saved to the signed-in user's preferences, and can be turned back off from the same checkbox at any time.