.praisonai/config.yaml wires your project’s full agent runtime — model, MCP servers, permissions — for every praisonai run in the directory.
Values can reference ${VAR}, {env:NAME:-default}, or {file:./relative/path} — see Value Interpolation — and praisonai config provenance shows which layer/file supplied each key.
.praisonai/config.yaml; every praisonai run in the project loads that single source.
Quick Start
1
Drop a config file
Create
.praisonai/config.yaml in your project root:2
Run anywhere in the project
3
Verify resolution
How It Works
The resolver deep-merges five layers (highest wins):
CLI flags always win. Config fills the gaps.
Configuration Schema
mcp.servers.<name>
praisonai run wires every enabled server under mcp.servers.* — multiple local (stdio) servers and remote (url: / type: remote) servers are all aggregated and exposed to the agent. Servers with enabled: false are skipped silently. If --mcp "<command>" is also given on the command line, its tools are added on top of the config servers, not in place of them.permissions
Two equivalent forms:
Structured (rule list):
Precedence
--mcp, if present, merges with config-declared servers — CLI ad-hoc tools are added alongside every enabled config server.--allow/--deny/--permissionsare merged on top of config rules — CLI wins per-pattern.--permission-defaultsets the fallback action, overridingpermissions.defaultfrom config.
Common Patterns
Pin a model + a single MCP server
CI-safe defaults
Mix with CLI flags
Config gives the base; flags override per-run:Declare-but-not-wire a server
Best Practices
Commit .praisonai/config.yaml for team alignment
Commit .praisonai/config.yaml for team alignment
Checked-in config ensures every teammate and CI runner uses the same model, MCP servers, and permission defaults automatically.
Keep secrets out of env in config
Keep secrets out of env in config
mcp.servers.<x>.env is fine for non-secret config values (paths, flags). For API tokens, use shell environment variables — they are read by the server process at runtime without being stored in YAML.Use praisonai config show --sources to debug
Use praisonai config show --sources to debug
When behaviour is unexpected,
praisonai config show --sources prints exactly which layer won for each key.Prefer the structured rules form when ordering matters
Prefer the structured rules form when ordering matters
The
rules: list is evaluated in order; priority fields are respected. The flat mapping form is convenient for simple deny lists but gives no ordering guarantees.Related
CLI Configuration
Full cascade reference for the praisonai CLI config layers
Declarative Permissions
All surfaces for pre-declaring allow/deny rules
MCP Transports
Remote MCP server configuration
Config CLI Reference
praisonai config subcommand reference
