praisonai tools doctor, fixes dependencies, and retries the agent call.
How It Works
How to Use Tools Doctor
praisonai tools doctor now walks the full ToolResolver chain — local tools.py, wrapper ToolRegistry, praisonaiagents.tools, praisonai-tools, and entry-point plugins. As of PR #2642, a tool that resolves at run time is guaranteed to appear here, so the doctor no longer reports false “missing” results for registered or plugin tools.
Review Diagnostics
Doctor output shows:
- Tool availability
- Missing dependencies
- Configuration issues
- Import errors
How to Debug Tool Resolution
How to Debug Tools with Python
How to Debug Tool Registry
Common Tool Issues
| Issue | Cause | Solution |
|---|---|---|
| Tool not found | Not in registry | Add to tools list or tools_sources |
| Import error | Missing dependency | Install required package |
| Type error | Wrong parameter types | Add proper type hints |
| No docstring | Missing documentation | Add docstring with Args section |
| Not serializable | Complex return type | Return dict/list/str instead |
Debug CLI Commands
Best Practices
Run tools doctor first
Run tools doctor first
The doctor walks the whole resolver chain, so it distinguishes a missing dependency from a genuinely unregistered tool in one command.
Test the tool in isolation
Test the tool in isolation
Call the function directly and check its return type before blaming the agent — most failures are plain Python errors.
Inspect the signature and docstring
Inspect the signature and docstring
Use
inspect.signature to confirm the tool exposes the parameters and return type the model expects.Related
Create Custom Tools
Build tools with correct signatures
Assign Tools to Templates
Wire tools into recipes

