# subagentpermissions.com — the Permission Policy primitive > always_allow vs always_ask defaults per toolset (agent_toolset vs mcp_toolset), per-tool configs[] overrides, and the fact that custom tools are not governed by permission policies at all. Also catalogs invocation_controls, the claude-tag Members/restrict-access primitive — who or what may invoke anything at all, a distinct axis from what a tool may do once invoked. ## API - GET /api/permission-policies — list all cataloged permission policies - GET /api/changes — newest-first change feed (?cursor=&limit=) for polling agents - GET /api/invocation-controls — list invocation controls (the claude-tag Members/restrict-access primitive, generalized), filterable by control_level - GET /api/invocation-controls/:id — a single invocation control - POST /mcp — Streamable-HTTP MCP endpoint (initialize / tools/list / tools/call get_permission_policies); server card at /.well-known/mcp/server-card.json ## Grounding Catalogs the doc's real model: always_allow/always_ask defaults per toolset, per-tool configs[] overrides, and the fact that custom tools are not governed by permission policies at all. Canonical source: https://platform.claude.com/docs/en/managed-agents/permission-policies.md ## Family This site is one of the Cloudflare Workers in the subagent*.com family. For the live, machine-readable directory of every sibling domain, Cloudflare zone ID, and worker binding, fetch: https://subagentsubdomains.com/api/dns-zones For a unified catalog of every API route across every primitive in the family: https://subagentapi.com/api/catalog