# elicitation

Elicitation is the request an MCP server makes to ask the human on the other side of the client a question, mid conversation.

Holon uses it for one thing: approvals. When an agent asks for a call above its mandate's approval
threshold, the gateway can send the question to the client, which shows the human the agent, the
input, the worst case and the threshold, with an accept and a decline button. The answer comes back
in the same exchange, so the agent can go on without leaving the conversation.

It only works when a human is really there. An agent key is marked `ask_in_client` or not, and a
key that may run unattended never gets the form, because the agent sitting in that client could
answer it itself. Those approvals wait in the console for the issuer's human key instead. Either
way the decision is bound to that mandate, that agent version, that input and that ceiling.

Example: Claude Code asks to spend 0.90 EUR under a mandate that approves up to 0.50 EUR. A form
appears in the terminal, you accept, and the call runs once.
