Creativity · Agent Protocol

Agent Tool Permissioning Patterns

A capable agent can call dozens of tools. Without discipline, that surface becomes a liability — a single prompt-injected instruction can drain accounts, post to the wrong channel, or delete production data. Mature production agents adopt least-privilege tool permissioning: explicit per-tool allow-lists, confirmation prompts for destructive or irreversible actions, scoped OAuth tokens, per-session expiry, and audit logs on every call.

Protocol facts

Sponsor
open community
Status
stable
Interop with
MCP, OAuth, Claude Agent SDK, OpenAI Agents SDK

Frequently asked questions

What's the canonical example of a permission failure?

An email-reading agent that can also send email. A malicious inbound email instructs it to forward all messages to an attacker — it obliges. The fix is separating read and write tools, and gating 'send' behind user confirmation.

How do Claude Code and Cursor handle this?

Both expose a permission model where tools (Bash, Edit, Write, WebFetch) are listed per-project; destructive or external-effect tools prompt for approval by default, and users can add allow-lists for trusted patterns.

Does MCP help?

MCP standardizes how servers declare tool schemas, which makes per-tool permissioning uniform. Clients (Claude Desktop, Cursor, etc.) then enforce policy on top of that declared surface.

Sources

  1. Anthropic — agent safety and permissioning — accessed 2026-04-20
  2. OpenAI Agents SDK — tools & approvals — accessed 2026-04-20