Skip to main content

Approvals & human-in-the-loop

Headmaster keeps you in control. The agent asks for your approval before doing things that affect your files, your system, or external services.

What triggers an approval

The agent asks before every action:
  • 🔧 Running a tool (web search, code execution, file read/write, MCP call, image generation)
  • 📁 Accessing a file outside the project folder
  • 🌐 Making a network request (external API call, HTTP request, webhook)
  • ⚙️ Executing code (running a script, shell command, or code block)

The approval prompt

When the agent wants to do something that needs approval, a card appears in the chat:
  • Approve — let the action run.
  • Deny — block the action. The agent stops and asks what to do instead.
  • Approve always — let the agent run this tool type without asking again for the rest of this conversation.

Clarification requests

Sometimes the agent needs more information before it can proceed. Instead of guessing, it asks:
Click one of the suggested options, or type your own answer. The agent incorporates your response and continues.

Permission requests

When the agent needs elevated permissions (e.g., sudo to install a package), it sends a permission request:
The request shows the exact command. Granting sudo is scoped to that specific command only — not blanket sudo access.

Secret requests

When the agent needs a credential it doesn’t have:
The key you enter is stored encrypted in the Connections area and is available to the agent in future conversations. Revoke it any time from Settings.

Audit trail

Every approval, denial, clarification, and permission grant is logged in the conversation transcript: The transcript is stored in the session file and can be exported for compliance reviews.

Modes

Approval behavior is controlled by your active mode.

Security

Container isolation, secret blocking, and the full security model.