Prerequisites
- Python 3.10 or higher
- PraisonAI Agents package installed
- Basic understanding of shell commands
Shell Tools
Use Shell Tools to execute shell commands with AI agents.1
Install Dependencies
First, install the required package:
2
Import Components
Import the necessary components:
3
Create Agent
Create a shell command agent:
4
Define Task
Define the shell task:
5
Run Agent
Initialize and run the agent:
Understanding Shell Tools
What are Shell Tools?
Shell Tools provide command-line capabilities for AI agents:
- Command execution
- Process management
- Output handling
- Error handling
- Environment management
Key Components
Shell Agent
Create specialized shell agents:
Shell Task
Define shell tasks:
Process Types
Sequential or parallel processing:
Shell Options
Customize shell operations:
Advanced Shell Management with Multiple Agents
Available Functions
Function Details
execute_command(command, cwd=None, timeout=30, env=None, max_output_size=10000, spill=True, spill_dir=None)
Safely executes shell commands:- Timeout protection
- Output capture
- Dangerous command blocking (PR #2062) —
rm,mkfs,dd,shutdown, etc. - Environment and working directory control
- Large output spill — over-budget output is saved to a retrievable artifact
Commands always run with
shell=False for security. The command string is split with shlex, so pipes and redirects are not interpreted.Dangerous Command Protection
By default, commands whose base name is inDANGEROUS_COMMANDS are blocked:
shlex.split + os.path.basename, so rm and /usr/bin/rm are both classified as rm. Unparseable commands fall through to later validation.
Large Output Handling
When output exceedsmax_output_size, the full buffer is saved to a disk artifact and the preview keeps a bounded head/tail plus a pointer to that file.
spill=False to keep the legacy middle-truncated preview with no persistence. See Tool Output Spill for the full mechanism.
list_processes()
Lists running system processes:- Process details
- Resource usage
- User information
- Performance metrics
kill_process(pid: int, force: bool = False)
Terminates system processes:- Graceful termination
- Force kill option
- Error handling
- Access control
get_system_info()
Retrieves system information:- CPU statistics
- Memory usage
- Disk space
- Platform details
- Boot time
Example Agent Configuration
Dependencies
The shell tools require the following package:- psutil: For system and process information
Error Handling
All functions include comprehensive error handling:- Command execution errors
- Process access errors
- Permission errors
- Timeout errors
- Resource errors
- Success cases return expected data type
- Error cases return error details in result
- All errors are logged for debugging
Common Use Cases
- System Monitoring:
- Process Management:
- Command Execution:
Best Practices
Agent Configuration
Agent Configuration
Configure agents with clear shell focus:
Task Definition
Task Definition
Define specific shell operations:

