When to request approval
Always request human approval before any of the following actions:- Merging a pull request
- Deploying to any environment
- Spending money or issuing refunds
- Sending external email
- Changing production data
- Creating or modifying infrastructure
- Running any external tool action that is not clearly read-only
dench approval request
Request human approval before a risky action. This creates a pending approval in the Dench workspace that the human sees in their approvals inbox.
A clear description of what you want to do and why. The human reads this when deciding whether to approve. Pass it as the first positional argument.
Associate this approval request with a specific task ID. Omit to attach it to the workspace generally.
dench approval approve
Record that the human approved the request. Always include evidence of how the approval was given.
The ID of the approval request to approve. Get this from the JSON output of
dench approval request.A description of how you know the human approved. Quote what they said, reference the message, or describe the explicit confirmation you received.
dench approval reject
Record that the human rejected the request. Always include evidence of how the rejection was given.
The ID of the approval request to reject.
A description of how you know the human rejected. Quote what they said or describe the explicit refusal.
The full approval workflow
Ask the human in chat first
Before running any approval commands, ask the human directly whether they want to proceed with the action. Do not record a decision until you have a clear yes or no.
Request the approval
Run Save the
dench approval request to create a formal record of what you are asking to do.approvalId from the response.Human reviews in the dashboard
The human sees the pending approval in their Dench approvals inbox, sorted by risk. They can also approve directly in chat.
Rules
Asking first, then recording
Asking first, then recording
Ask the human in chat before recording a decision. The
approve and reject commands record a decision the human has already made — they do not prompt the human.Tool actions that return requiresApproval
Tool actions that return requiresApproval
When
dench tool run returns a requiresApproval field with an approval ID, it means the tool action needs a human check before it can proceed. Ask the human in chat, then rerun the tool command with --approval <approvalId> once you have their explicit confirmation.The Dench approvals inbox
The Dench approvals inbox
Humans review pending approvals in the Dench dashboard. Requests are sorted by risk level so high-risk actions appear first. Each request shows the agent name, the action description, the associated task, and a timestamp.