approval
AI Agent Extensible Approval Protocol for PraisonAI Agents. This package provides a protocol-driven, per-agent approval system for tool executions. It is fully backward-compatible with the oldapproval.py module — all existing imports continue to work.
Quick start (no Agent class changes needed)::
from praisonaiagents.approval import get_approval_registry, AutoApproveBackend
Global auto-approve for all agents
get_approval_registry().set_backend(AutoApproveBackend())Per-agent backend
get_approval_registry().set_backend(AutoApproveBackend(), agent_name=“bot”) Custom backend:: from praisonaiagents.approval import ApprovalProtocol, ApprovalRequest, ApprovalDecision class WebhookBackend: async def request_approval(self, request: ApprovalRequest) -> ApprovalDecision:POST to external service, wait for response
return ApprovalDecision(approved=True) get_approval_registry().set_backend(WebhookBackend())Import
Classes
ToolPermission
Permission entry for a tool.
PermissionAllowlist
Persistent permission allowlist for tools.
Functions
get_approval_registry()
Return the global singleton :class:
ApprovalRegistry.set_approval_callback()
Set a custom approval callback (legacy API).
get_approval_callback()
Get the current approval callback function (legacy API).
mark_approved()
Function definition.
is_already_approved()
Function definition.
is_yaml_approved()
Function definition.
is_env_auto_approve()
Function definition.
set_yaml_approved_tools()
Function definition.
add_yaml_approved_tools()
Function definition.
reset_yaml_approved_tools()
Function definition.
clear_approval_context()
Function definition.
configure_default_approvals()
Re-configure default dangerous tools (idempotent).
add_approval_requirement()
Function definition.
remove_approval_requirement()
Function definition.
is_approval_required()
Function definition.
get_risk_level()
Function definition.
console_approval_callback()
Default console-based approval callback (legacy API).
request_approval()
Request approval for a tool execution (legacy async API).
require_approval()
Decorator to mark a tool as requiring human approval.
get_permission_allowlist()
Function definition.
set_permission_allowlist()
Function definition.

