Overview
The Tool Override system allows loading custom tools from Python files, modules, and directories at runtime. This enables extending PraisonAI with custom functionality without modifying the core package.Python API
ToolOverrideLoader
Context Manager Pattern
Use the context manager for temporary tool overrides:Creating Tool Registry with Overrides
Default Custom Tool Directories
PraisonAI checks these directories for custom tools:| Priority | Path | Description |
|---|---|---|
| 1 | ~/.praison/tools | Primary user tools |
| 2 | ~/.config/praison/tools | XDG-friendly location |
Discovering Tools Without Execution
Discover tool names without importing/executing code:Security
Local Paths Only
Remote URLs are rejected by default:Safe Defaults
- Only local file paths are allowed
- No automatic code execution on import
- Discovery uses AST parsing (no execution)
- Context manager ensures cleanup

