pre-command.md•2.2 kB
# hook pre-command
Execute pre-command validations and safety checks before running shell commands.
## Usage
```bash
npx claude-flow hook pre-command [options]
```
## Options
- `--command, -c <cmd>` - Command to be executed
- `--validate-safety` - Check command safety (default: true)
- `--check-permissions` - Verify execution permissions
- `--estimate-duration` - Estimate command runtime
- `--dry-run` - Preview without executing
## Examples
### Basic pre-command hook
```bash
npx claude-flow hook pre-command --command "npm install express"
```
### Safety validation
```bash
npx claude-flow hook pre-command -c "rm -rf node_modules" --validate-safety
```
### Permission check
```bash
npx claude-flow hook pre-command -c "sudo apt update" --check-permissions
```
### Dry run preview
```bash
npx claude-flow hook pre-command -c "git push origin main" --dry-run
```
## Features
### Safety Validation
- Detects dangerous commands
- Warns about destructive operations
- Checks for sudo/admin usage
- Validates command syntax
### Permission Checking
- Verifies execution rights
- Checks directory access
- Validates file permissions
- Ensures proper context
### Duration Estimation
- Predicts execution time
- Warns about long operations
- Suggests timeouts
- Tracks historical data
### Dry Run Mode
- Shows command effects
- Lists files affected
- Previews changes
- No actual execution
## Integration
This hook is automatically called by Claude Code when:
- Using Bash tool
- Running shell commands
- Executing npm/pip/cargo commands
- System operations
Manual usage in agents:
```bash
# Before running commands
npx claude-flow hook pre-command --command "your command here" --validate-safety
```
## Output
Returns JSON with:
```json
{
"continue": true,
"command": "npm install express",
"safe": true,
"estimatedDuration": 15000,
"warnings": [],
"permissions": "user",
"affectedFiles": ["package.json", "package-lock.json"],
"dryRunOutput": "Would install 50 packages"
}
```
## See Also
- `hook post-command` - Post-command processing
- `Bash` - Command execution tool
- `terminal execute` - Terminal operations
- `security scan` - Security validation