Safe Remove Skill
Purpose: Prevent shell session breakage by verifying working directory before rm -rf operations.
Critical Issue
If you delete the directory you're currently in, all subsequent Bash commands will fail with "Exit code 1" and Claude Code must be restarted. This is unrecoverable without restart.
Mandatory Pre-Delete Checklist
BEFORE any rm -rf command:
bash
# 1. Check current working directory pwd # 2. Verify target is NOT current directory or ancestor # If deleting /path/to/workspace/test and pwd shows /path/to/workspace/test -> DANGER! # 3. If in danger, change directory first cd /path/to/workspace # or another safe location # 4. Then delete rm -rf /path/to/workspace/test
Safe Patterns
bash
# SAFE - Explicit cd before delete cd /path/to/workspace && rm -rf /path/to/workspace/test-dir # SAFE - Delete from parent directory cd /path/to/workspace && rm -rf test-dir # SAFE - Use absolute paths after confirming pwd pwd # Shows /path/to/workspace (not /path/to/workspace/test-dir) rm -rf /path/to/workspace/test-dir # DANGEROUS - Deleting without checking pwd rm -rf /path/to/workspace/test-dir # If pwd is /path/to/workspace/test-dir, shell breaks! # DANGEROUS - Deleting current directory rm -rf . # Always breaks shell # DANGEROUS - Deleting parent of current directory # pwd: /path/to/workspace/test-dir/subdir rm -rf /path/to/workspace/test-dir # Breaks shell
Recovery
If shell breaks (all commands return "Exit code 1"):
- •Restart Claude Code - this is the only fix
- •The shell session cannot recover from a deleted working directory
Quick Reference
| Situation | Action |
|---|---|
| Deleting temp directory | pwd first, cd if needed |
| Cleaning up test files | Verify not inside target directory |
| Removing build artifacts | Use parent directory as working dir |
Any rm -rf operation | Always check pwd first |