Skip to main content

Basic Commands

Full-Report Root Flags

Running praisonai 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

Expected output shape (available / missing / broken / slow buckets):
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

Sample requirements output:

Auto-Remediation (doctor fix)

doctor fix runs safe auto-remediation for common setup issues. Phase-1 scope: migrate deprecated cli_backend YAML configuration.
--execute modifies files on disk. A .bak backup is created alongside the original unless --no-backup is passed.

Runtime Migration Checks

Detect and migrate legacy cli_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; --execute applies changes.
  • A .bak backup is created on --execute unless --no-backup.
  • --file/-f targets a specific YAML; otherwise searches cwd.
  • --quiet/-q suppresses non-essential output.
See also: Runtime Config Migration — describes the cli_backendruntime 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.
Use --json for machine-readable output that does not depend on terminal encoding.

Output Examples

Text Output

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:
Or use Windows Terminal / a UTF-8 capable shell. For machine-readable output that does not depend on terminal encoding, use --json.