Skip to main content
Strict tools mode provides fail-fast dependency checking before running templates. When enabled, the template will not execute if any required tool, package, or environment variable is missing.

Python API

DependencyChecker

Checking Individual Dependencies

Tool Source Values

check_tool() delegates to ToolResolver.list_available_sources() — the same resolution chain used at agent run time. The source field reflects where the tool actually comes from:
Tools registered via ToolRegistry.register_function() and core SDK entry-point plugins are now correctly reported as available. Before PR #2642, these tools resolved correctly at agent run time but were reported as “not installed” by the dependency checker. The checker now delegates to ToolResolver — the same source of truth used by resolve() — so diagnostic output matches runtime behaviour.If you are migrating from an earlier version and previously saw tools reported as missing in strict mode, verify those tools are registered via ToolRegistry or a praisonai.tool_sources entry-point plugin — they will now appear as available with source: "registered".

Getting Install Hints

Install hints are only generated for tools that are genuinely missing from all sources. Tools that resolve via ToolRegistry or entry-point plugins will not trigger install hints.

StrictModeError

When strict mode fails, StrictModeError is raised with:

Custom Tool Directories

The checker always honors custom_tool_dirs on top of the resolver’s chain:
Custom directories are not part of the ToolResolver chain — they are checked unconditionally so template-local tool directories always resolve regardless of resolver availability.

Tools Doctor

Full tool availability diagnostics

Tool Resolver

Resolution chain and source labels

Tools

Source label table and CLI reference