Skip to main content
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.
Bot default tools provide instant superpowers to every bot deployment, automatically injecting 20+ safe and useful tools when agents have no explicit tool configuration.
The user messages the bot with no custom 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

On a bot turn, clarify delivers the question to the user. Choices render as native reply buttons via MessagePresentation.question(), and the agent ends its turn restating the question instead of guessing. See Clarify Tool β†’ Bot Usage.

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

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.
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.
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.
To disable auto-injection, pass an explicit empty list: Agent(tools=[]). Passing no tools parameter triggers smart defaults.

Troubleshooting

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.

Workspace

How workspace containment enables safe file tools

BotOS

Multi-platform bot orchestration concepts