Reference · How-to · ~10 min

How to add a tool allowlist

Last updated

Agents should only call tools you explicitly enable — with argument validation.

Agents should only call tools you explicitly enable — with argument validation.

#Prerequisites

  • Inventory of tools the agent might need
  • Sensitivity ranking (read-only vs side-effect)
  • Logging sink for tool calls

#Steps

1. **List** candidate tools; drop anything not required for the job.

2. **Allowlist** names in config (not in the prompt alone).

3. **Schema-validate** arguments; reject unknown fields.

4. **Require confirmation** for destructive actions (send, delete, pay).

5. **Treat tool output as untrusted** text (prompt-injection surface).

6. **Log** name, args hash, latency, and success/fail for every call.

#Mini example

Allow: get_order, search_docs
Deny: send_email, refund_charge (human approval required)
On unknown tool name: refuse and escalate

**Try the lesson:** `what-are-tools` in Lane C · Glossary: [tool](/reference/tool)