Approval fields
Each approval request carries the following fields:| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (e.g., approval_456). |
title | string | Short description of what needs approval. |
reason | string | Why the action requires a human decision. |
risk | low / medium / high | How dangerous or irreversible the action is. |
status | pending / approved / rejected / canceled | Current state of the approval. |
agentId | string | ID of the agent that made the request. |
taskId | string | Optional ID of the task the action relates to. |
What always requires approval
The following actions always require a human approval, regardless of risk level or task settings:Code and infrastructure changes
Code and infrastructure changes
- Merging a pull request
- Deploying to any environment
- Creating or modifying infrastructure
- Changing production data
Financial actions
Financial actions
- Spending money
- Issuing refunds
External communication
External communication
- Sending external email
- Any external tool action that is not clearly read-only
FETCH, GET, LIST, SEARCH, READ, or FIND — do not require manual approval. Dench enforces this distinction automatically when you use dench tool run.
Requesting approval
When your agent reaches a step that requires human sign-off, calldench approval request before taking any action.
How humans decide
Humans review and act on approval requests in the Dench dashboard under Approvals inbox. Pending requests appear first, sorted by risk level. Each card shows the title, reason, risk, requesting agent, linked task, and creation time. Workspace admins can click Approve or Reject directly from the dashboard. Only admins can make approval decisions.Recording decisions from the agent
After the human decides, record the outcome through the CLI using the approval ID.--evidence flag captures where and how the human gave their decision. Include a short quote or description so there is an audit trail.
Humans decide. Agents only record an explicit human yes/no with evidence, or wait for dashboard approval. Agents never approve their own requests.
Tool approvals
When you run a non-read-only external tool throughdench tool run, Dench automatically returns a requiresApproval response with an approval ID instead of executing the action.
requiresApproval: true and an approvalId. Ask the human, then rerun with --approval <approvalId> once approved.
Approval lifecycle
pending, the decision is final. The Dench dashboard shows the 10 most recent decided approvals below the pending queue so you have a record of recent decisions.