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
- Anthropic — agent safety and permissioning — accessed 2026-04-20
- OpenAI Agents SDK — tools & approvals — accessed 2026-04-20