Replaces the deprecated
cli_backend= kwarg — see Legacy Agent Parameters.Quick Start
1
Simple Usage
2
With Preferred Runtime
How It Works
Configuration Options
Full list of options, types, and defaults —
RuntimeConfigRuntime Name Normalisation
preferred_runtime values are canonicalised before selection, so common spellings all resolve to the same capability matrix.
Normalisation is:
- Case-insensitive —
NATIVE,Native,nAtIvEall resolve tonative. - Whitespace-tolerant —
" native "is trimmed tonative. - Separator-agnostic —
-and_are interchangeable (plugin_harness=plugin-harness).
Alias Table
Source:RUNTIME_ALIASES in praisonaiagents.config.feature_configs.
Typo Detection
A value that is a close typo of a known runtime (e.g.nativ, natve, reducd, harnes) raises ValueError with a suggested spelling — instead of silently degrading to the reduced harness and dropping capabilities.
RuntimeConfig fails immediately rather than silently at runtime.
Plugin Runtimes Still Accepted
An unrecognised name that is not a close typo is treated as an opaque plugin runtime name and passed through unchanged — a third-party runtime registered later keeps working.Normalised Input Surfaces
Every input form is normalised, and the caller’s object is never mutated —resolve_runtime returns a normalised copy.
preferred_runtime to native.
Common Patterns
Pattern 1 — Streaming-capable agent
Pattern 2 — MCP-tools agent with strict requirements
Best Practices
Use validate_on_creation=True
Use validate_on_creation=True
Keeping
validate_on_creation=True (the default) surfaces capability mismatches immediately when the agent is created, not halfway through a task. This prevents silent degradation.Allow fallback for resilience
Allow fallback for resilience
Set
fallback_allowed=True unless your agent strictly requires a specific runtime. Fallback lets the agent work even in environments where the preferred runtime isn’t installed.Check available capabilities
Check available capabilities
Capability names include
streaming_deltas, tool_loop, mcp_tools, native_hooks. Use only documented capability names to ensure forward compatibility.Related
Runtime Capabilities — full capabilities reference
Execution — control iteration limits and budget

