Skip to main content
The praisonai CLI reads defaults from a layered hierarchy so you can set a model once and have it work everywhere — globally, per project, or per command.
The user sets a default model in config once; every praisonai command in that project picks it up without repeating flags.

Quick Start

1

Set a default model

2

Run any agent

The model from config is picked automatically — no --model flag needed.
3

Inspect what was resolved

When you praisonai run, CLI defaults flow into the agent automatically:

How It Works

Layers are deep-merged. Lists are concatenated. Scalars are overridden by higher layers.

Project vs Global Config

Walk-up discovery searches, at each directory from cwd up to the git root:
  1. .praisonai/config.yaml
  2. .praisonai/config.yml
  3. praison.yaml
  4. praison.yml
  5. .praison/config.toml (legacy)

Choose Your Scope


Configuration Schema

agent.* defaults

api_key is never serialised to YAML — use environment variables or praisonai auth.

mcp.servers.<name>

permissions.*

Example combining all three sections:
See Single-Source Config for a full guide to using all three sections together. Other top-level sections (output, traces, session) are also valid — see Config CLI reference.

Validation

Configuration is validated against a published JSON Schema. Unknown keys produce actionable warnings with typo suggestions; opt into strict mode to fail fast. Typo example:
The # yaml-language-server: $schema=... line written by praisonai init enables real-time autocomplete and inline errors in VS Code (YAML extension) and other LSP-aware editors against the published schema.

Environment Variables


Subcommand Reference


Backward Compatibility

Still read on startup if no YAML config exists. RAG and model keys are migrated to the new agent.* / rag.* schema automatically.
Model and provider keys from .env are merged into the resolved config when no YAML is present.
Walk-up discovery still finds legacy TOML project configs and migrates them on read.

Best Practices

Commit .praisonai/config.yaml to your repo so teammates get the same defaults.
api_key is never serialised; use env vars or praisonai auth.
When behaviour surprises you, praisonai config sources prints exactly which layer won.
Running praisonai from repo/scripts/ finds repo/.praisonai/config.yaml.

Interpolation & Provenance

Any config value can reference ${VAR}, {env:NAME:-default}, or {file:./relative/path} — see Value Interpolation for the directive table and its security rules. Run praisonai config provenance to see the winning value of each key and the exact layer/file that supplied it — see provenance.

Config CLI Reference

Full subcommand reference for praisonai config

Configuration Index

SDK-level agents, tasks, and memory configuration

Runtime Selection

Model-scoped runtime configuration

LLM Endpoint Config

Custom base URLs and provider routing

Single-Source Config

Model + MCP + permissions in one file