Skip to main content
PraisonAI raises clear errors instead of silently picking a default when configuration is ambiguous.
Behaviour change (PR #2122): Several subsystems that previously fell back silently now raise explicit errors. Review the table below when upgrading.

What Changed

AreaOld behaviourNew behaviourDeep dive
Database URLUnknown scheme → SQLite fallbackValueErrorCloud Databases
Model stringUnrecognised name → OpenAIValueErrorMulti-Provider Advanced
Daytona sandboxAppeared available with clientNotImplementedErrorSandbox
LazyCacheCached None on ImportErrorRe-raises ImportErrorOptional deps docs
Approvalenabled: false by defaultenabled: true by defaultApproval
Claude CLI backendbypassPermissions defaultdefault mode; bypass requires opt-inCLI Backend Protocol

Quick Start

1

Grep your logs for new errors

grep -r "Unable to infer DB backend\|Cannot infer provider\|Daytona backend not yet implemented" logs/
2

Fix database URLs explicitly

# Was silently SQLite — now raises ValueError
db_url = "sqlite:///mydata.db"  # explicit scheme required
3

Use provider/model form

from praisonaiagents import Agent

# Was OpenAI fallback — now raises ValueError
agent = Agent(name="assistant", llm="ollama/llama3")

Migrating

Exception textFix
Unable to infer DB backend from URL '...'; supported schemes: postgres://, mysql://, sqlite://, redis://, libsql://, http(s)://Prefix URL with a supported scheme, e.g. sqlite:///path.db
Cannot infer provider from model '...'. Use the 'provider/model' form, e.g. 'ollama/llama3', 'bedrock/anthropic.claude-3-sonnet'.Use provider/model or a recognised prefix (gpt-, claude-, gemini-)
Daytona backend not yet implemented. Use 'subprocess', 'docker', or 'e2b' sandbox instead.Switch sandbox_type to a supported backend
Approval prompts where none expectedSet approval=False or approval: {enabled: false} in YAML

Best Practices

When in doubt, spell out schemes, provider prefixes, and backend names — silent fallbacks are gone.
Approval is on by default (PR #2122). Use approval=False for fully autonomous runs.
Claude Code bypass requires unsafe=True and PRAISONAI_CLAUDE_BYPASS_PERMISSIONS=1.

Approval

Safe-by-default approval gates

Cloud Databases

Supported DB URL schemes

Multi-Provider

Model string format

Sandbox

Available sandbox backends