Tools Doctor CLI

CLI commands for diagnosing tool availability

praisonai tools doctor uses the same ToolResolver source of truth as praisonai tools list — the counts and tool names you see are guaranteed to match what actually loads at agent run time.

bash
# Run full diagnostics (human-readable output)
praisonai tools doctor

# Output diagnostics as JSON
praisonai tools doctor --json

# Example output (human-readable):
# ============================================================
# PraisonAI Tools Doctor
# ============================================================
#
# Core Packages:
#   ✓ praisonaiagents
#   ✓ praisonai-tools (optional)
#
# Built-in Tools (15):            ← resolver "builtin" bucket, sorted A-Z
#   • arxiv_search
#   • calculator
#   • internet_search
#   ... and 12 more
#
# praisonai-tools (8):            ← resolver "external" bucket, sorted A-Z
#   • csv_tool
#   • excel_tool
#   • pdf_tool
#   ... and 5 more
#
# Registered Tools (2):           ← resolver "registered" bucket (new)
#   • my_plugin_tool
#   • my_registered_fn
#
# Custom Tool Directories:
#   ✗ ~/.praison/tools
#   ✗ ~/.config/praison/tools
#
# ✓ No issues found
# ============================================================

Fallback mode

When ToolResolver cannot be imported (e.g. the praisonai wrapper package is not installed), the doctor falls back to a direct TOOL_MAPPINGS / praisonai_tools scan. In this mode:

  • Built-in and praisonai-tools counts are shown (unsorted, in dict-iteration order)
  • The Registered Tools section is not shown
  • The local bucket is not reflected

Install the praisonai wrapper package to get full resolver-backed output.