Basic Commands
Full-Report Root Flags
Runningpraisonai doctor with no subcommand runs the full multi-category setup report.
When the report contains warnings or failures,
praisonai doctor prints a numbered “Next steps:” section listing the recommended remediation for each issue. Hidden when no issues exist, and suppressed under --quiet.Subcommand Reference
Environment Checks
Configuration Checks
Bot Config Checks
praisonai doctor validates bot.yaml and gateway.yaml via load_and_validate_gateway_yaml against the unified GatewayConfigSchema (BotYamlSchema is an alias). Common failures and fixes:
Single-bot (
platform + token), multi-channel (agents + channels), and BotOS (platforms:) YAML shapes all validate against the same schema. See Gateway Config Migration.Gateway Doctor Checks
Run individual gateway checks:Environment Deep Check — Optional Dependencies
See Optional Dependencies Check for the full four-bucket table, per-package timeout formula, and CI gating examples.
Packaging Checks
Diagnose Windows daemon and entry-point issues (python -m praisonai vs the praisonai console script):
Run
praisonai doctor packaging on Windows before registering PraisonAI as a scheduled task or NSSM service — misconfigured entry points are the most common cause of “daemon starts but immediately exits”.Tools Checks
Database Checks
MCP Checks
Observability Checks
Skills Checks
Auto-Remediation (doctor fix)
doctor fix runs safe auto-remediation for common setup issues. Phase-1 scope: migrate deprecated cli_backend YAML configuration.
Runtime Migration Checks
Detect and migrate legacycli_backend YAML fields to models.default.runtime. See Runtime Config Migration for the full guide.
Auto-Remediation (doctor fix)
praisonai doctor fix runs safe auto-remediation for common setup issues — dry-run by default, no changes without --execute.
Phase-1 scope: migrating deprecated cli_backend YAML configuration. This does not yet fix all possible issues.
- Dry-run by default;
--executeapplies changes. - A
.bakbackup is created on--executeunless--no-backup. --file/-ftargets a specific YAML; otherwise searches cwd.--quiet/-qsuppresses non-essential output.
cli_backend→runtime mapping that fix currently automates.
Runtime Preflight Checks
Validate team YAML for runtime compatibility, handoffs, and installed frameworks without LLM calls. See Runtime Preflight for the full guide.
Exit codes:
0 — no issues; 1 — issues detected or team file missing; 2 — internal error.
Docker Checks
LLM Provider Checks
Memory Store Checks
Metadata Store Checks
Memory Checks
Permissions Checks
Network Checks
Performance Checks
CI Mode
Self-Test
Global Flags
Status Symbols
The text formatter automatically picks symbols that match your terminal encoding.Detection runs once when the formatter starts. UTF-8 terminals always
use the Unicode symbols. Anything else (Windows default consoles,
legacy
cp1252/cp437, etc.) automatically falls back to ASCII so
praisonai doctor never crashes with UnicodeEncodeError.--json for machine-readable output that does not depend on terminal encoding.
Output Examples
Text Output
- UTF-8 terminals
- Windows cp1252
JSON Output
List Checks Output
CI/CD Integration
GitHub Actions
Exit Code Handling
Troubleshooting
Common Issues
Windows Unicode / encoding errors
As of v4.x,praisonai doctor auto-detects your terminal encoding and falls
back to ASCII status symbols ([OK] [!] [X] [-]) on non-UTF-8 consoles, so
the historical UnicodeEncodeError: 'charmap' codec crash on Windows
cmd.exe / PowerShell no longer happens. If you prefer Unicode output on
Windows, run one of:
--json.
