Control what an agent can do
Permissions decide which tool calls an agent can make on its own and which need your approval. Set a default on the agent, override it for individual tools, and approve calls while the agent runs. For the underlying model, see Permissions.
Permissions are set on the agent and on each tool
The agent's policy covers every tool at once. It lives in the Advanced dialog and it is the baseline.
A tool's own permission covers one action and overrides the policy. It lives in the tool's detail dialog. Use it to allow or deny one action while everything else follows the policy.
Set the agent's default policy
- In the playground, set Playground mode to
Build. - In the Configuration column, click Advanced.
- Open the Permissions section.
- Pick a
Policy, then clickSave.
Policy | What it does |
|---|---|
Allow reads | Reads run, writes ask. This is the default. |
Allow all | Every tool runs without asking. |
Ask | A human approves every tool call. |
Deny all | Every tool call is refused. |
Under Allow reads, a connected-app action counts as a read when it has the READ-ONLY badge in the Add app tools dialog. Any action without that badge asks for approval.
Override the permission for one tool
- In the Configuration column, open Tools.
- Click the tool's row.
- In the
TOOL DETAILSpane, setPermission, then clickSave.
Permission | What it does |
|---|---|
Inherit | Follows the agent's Policy. This is the default. |
Allow | This tool runs without asking, whatever the policy says. |
Ask | This tool always waits for approval, whatever the policy says. |
Deny | This tool is always refused. |
Permission is available on connected-app tools under CONNECTED APPS and tools you write with Tool definition.
Built-in tools have no per-tool permission. The agent's Policy governs them. Clicking one opens a read-only view with the subtitle Provider built-in tool.
Which setting wins
When the agent calls a tool, the first of these that applies decides:
- The tool's own
Permission, when it is anything other thanInherit. - An entry in
Auto-approve. - The agent's
Policy.
Approve or deny a call while the agent runs
When a tool needs approval, the run pauses. The conversation shows a card titled Approval needed to continue. The status reads Waiting for your input, and the tool's row reads Awaiting approval.
- Expand
Detailsto read the arguments the agent wants to pass, as JSON. - Click
Approveto continue the run. ClickDenyto block the action. - Anything you type while the card is open is queued until you answer.
Limit what the sandbox can touch
The Execution environment section of the Advanced dialog sets where tools and code run.
Sandbox has two options. With Local, that is the only field. With Daytona, three more appear:
| Field | Options |
|---|---|
Network egress | Allow all egress, Block all egress, Allowlist (CIDR ranges). The allowlist option reveals an Allowlist textarea for the ranges you permit, such as 10.0.0.0/8. |
Filesystem | Read / write, Read-only, No access. |
Enforcement | Strict (fail if unenforceable), Best effort. |
Next
- Add an MCP server covers adding tools that these settings govern.
- Create an automation covers running an agent without an active chat.