Bot platform adapters now ship in the
praisonai-bot package. praisonai bot serve still works exactly as documented here; for a standalone install see praisonai-bot Migration.tools= list; PraisonAI injects file, web, memory, and schedule tools automatically.
Injected Tools
Optional: browser (--browser)
Add a local Chromium via --browser — see Bot Browser Automation.
The browser tool is not in the auto-inject set (opt-in only) because it requires
praisonai-browser[playwright] and downloads Chromium.Quick Start
1
Zero-Config Bot
2
Custom Tool Selection
How It Works
Smart defaults activate when:Configuration Options
Complete Default Tools List
Opt-In Tools (not auto-injected)
These tools are functional but require explicit opt-in:Smart Defaults Configuration
Tool Approval Settings
Setting
channels.<platform>.allow_shell: true on a gateway channel additionally injects execute_command into the agent’s tool list, lifts the tool from the deny-list, and appends a one-line permission grant to agent.instructions. On shell-enabled channels with routing rules, routed agents inherit execute_command too — the shell setup is re-applied per routed agent, cloned and cached per (channel, agent). On externally-bound gateways or channels with a group_policy, auto_approve_shell: true is downgraded to require approval unless auto_approve_shell_acknowledge_exposed: true opts in — see Bot Shell Execution → Exposure-aware auto-approval.Common Patterns
Workspace-Aware Filtering
Development vs Production
Tool Categories by Use Case
Best Practices
Trust Smart Defaults
Trust Smart Defaults
In most cases, let the bot auto-inject tools rather than specifying manually. Smart defaults adapt based on workspace configuration and provide the safest possible tool suite.
Workspace Security
Workspace Security
Destructive file tools (
write_file, edit_file, skill_manage) are automatically filtered out unless a workspace is configured. This ensures bots are safe by construction.Development Testing
Development Testing
Use
auto_approve_tools=False during development to see exactly which tools your bot is calling. Switch to auto_approve_tools=True for production deployments.Explicit Override
Explicit Override
To disable auto-injection, pass an explicit empty list:
Agent(tools=[]). Passing no tools parameter triggers smart defaults.Troubleshooting
My bot only has a few tools, not the 20+ listed here
My bot only has a few tools, not the 20+ listed here
If your bot is missing most default tools (only sees a small fallback set), upgrade to the version that includes PR #2004. A regression caused
ToolResolver to be imported from the wrong module, which silently dropped the full default toolset and left only a small hardcoded fallback.Verify the fix is active by checking that imports resolve from praisonai.tool_resolver, not praisonaiagents.tools.Related
Workspace
How workspace containment enables safe file tools
BotOS
Multi-platform bot orchestration concepts

