Skip to main content
PraisonAI refuses to start a run that would silently drop a safety gate.

Quick Start

1

Gate on the native framework

framework: praisonai honours approval: and guardrails: natively.
agents.yaml
2

Same YAML on CrewAI refuses to start

Change only framework: crewai. The CrewAI and AutoGen adapters cannot pass these fields through, so the run stops before any tool executes:
3

Pick a fix

Either switch back to framework: praisonai to keep the gate, or delete the approval: / guardrails: keys (or set approval: false) to run ungated on purpose.
Behaviour change. Previously these fields were dropped with only a log WARNING, and tools ran ungated. Any YAML that combines approval: or guardrails: with framework: crewai or framework: autogen now fails at startup.

When does the error fire?

Non-safety fields an adapter does not read (for example memory on CrewAI) still only log a warning.

Who is affected

YAML files that never set approval: or guardrails: are unaffected.

How to migrate


Best Practices

Approval and guardrails are only enforced on the native framework. If a role touches shell, file, or network tools, run it on praisonai.
When you really want CrewAI or AutoGen to run ungated, write approval: false or remove the key so the intent is visible in review.
The error fires at startup, before any agent runs. Add praisonai agents.yaml to CI to catch dropped gates early.

Approval

Human-in-the-loop approval for tools

Guardrails

Validate agent output