What are Agent Permissions?
The specific tools and operations an AI agent is authorised to perform — which MCP tools it can invoke, with what arguments, and under what constraints. Permissions define the boundary between what an agent is allowed to do and what is denied.
WHY IT MATTERS
Permissions are the granular building blocks of policy enforcement. While policies define the overall rules, permissions specify the individual capabilities: this agent can call read_file but not write_file, can invoke search but not delete.
The principle of least privilege applies directly: each agent should have only the permissions needed for its specific task. A research agent does not need write access. A code formatting agent does not need shell execution. A data analysis agent does not need filesystem access.
Permissions can be static (fixed in the policy document) or context-dependent (different policies applied for different sessions or tasks). The key is that they are defined by operators, not by the agent itself.
HOW POLICYLAYER USES THIS
PolicyLayer implements agent permissions through a JSON policy document attached to each grant. In the visual policy builder, each tool is set to Allow, Deny, Hide or Custom, with optional argument conditions. Permissions are enforced at the hosted gateway — the agent cannot see or invoke tools that the policy hides or denies. A grant with no policy denies every call, and "default": "deny" is the recommended starting point.