Human in the loop
Agents don't have to stall or hallucinate when they hit a question only a person can answer. They escalate it, keep working, and pick the answer up later. This page covers the ask_human tool and the inbox that delivers it.
The ask_human tool
Agents have an ask_humantool. When an agent decides it needs a human's input — a product decision, a missing credential, a "which of these did you mean" — it calls the tool with a single, self-contained question.
The call is asynchronous. The agent doesn't block waiting for a reply; it queues the question and moves on with whatever else it can do. The answer comes back on a later turn.
The inbox
Every question an agent asks you lands in your Inbox. A badge shows the number of pending questions so you don't miss them. The inbox has two sections — Pending and Closed.
Each question card shows:
- The agent that asked (with a clone badge if it's a member clone).
- Who triggered it and in which env.
- The question text.
- For pending items, a box to type your answer plus Send answer and Dismiss.
Answer it and the card moves to Closed with your reply attached. Dismiss it and it closes without an answer.
Answers become memory
Answering isn't a one-off reply into the void. Your answer is saved as a member memoryfor you, so the agent reads it on its next turn and continues from there — and remembers it for the future. You don't have to be in the chat when you answer; the next time that session runs, your answer is already context.
Relationship to Slack
Slack is a parallel escalation channel, not a replacement for the inbox. When Slack is connected, agents also get slack_ask (and friends), which post a question into Slack and route the threaded reply back into the chat. The two are independent: ask_human drives the in-app inbox, Slack tools drive Slack threads. Use whichever fits how your team works — or both.