Shell
Execute shell commands
Overview
Shell tool allows you to execute shell commands from your AI agents. Use with caution!
The user asks to run a command; the agent executes it in the shell and returns the output.
Installation
pip install "praisonai[tools]"Quick Start
- Simple Usage
python from praisonai_tools import ShellTool # Initialize shell = ShellTool() # Execute command result = shell.execute("ls -la") print(result) - With Configuration
Use the same tool with an agent — see Usage with Agent below, or pass env vars and options from the sections above.
Usage with Agent
from praisonaiagents import Agent
from praisonai_tools import ShellTool
agent = Agent(
name="SysAdmin",
instructions="You help with system administration tasks.",
tools=[ShellTool()]
)
response = agent.chat("List all Python processes")
print(response)Available Methods
execute(command)
Execute a shell command.
from praisonai_tools import ShellTool
shell = ShellTool()
result = shell.execute("echo 'Hello World'")Security Warning
⚠️ Use with caution! Shell commands can be dangerous. Consider:
- Restricting allowed commands
- Running in sandboxed environments
- Validating user input
Common Errors
| Error | Cause | Solution |
|---|---|---|
Command not found | Invalid command | Check command exists |
Permission denied | Insufficient permissions | Check file permissions |
How It Works
Best Practices
Allowlist commands
Restrict the agent to a known set of safe commands rather than arbitrary shell access.
Never interpolate untrusted input
Build commands from validated arguments to avoid injection.
Set timeouts
Bound command execution so a hung process doesn’t stall the agent.