[[Claude Code]] が `rm` でファイルを削除すると、ゴミ箱を経由せず完全に消えてしまう。誤削除を防ぐには、以下の 3 つの設定を組み合わせる。
## 1. trash コマンドのインストール
macOS では以下でインストールできる。
```bash
brew install trash
```
## 2. CLAUDE.md に明記する
`~/.claude/CLAUDE.md` に以下を追記し、`trash` を使うよう指示する。
```markdown
- ファイル削除は `rm` ではなく `trash` コマンドを使用(復元可能にするため)
```
## 3. 権限設定で rm を拒否する
`~/.claude/settings.json` の `permissions` に `deny` を追加し、`rm` の実行を禁止する。
```json
{
"permissions": {
"deny": [
"Bash(rm *)",
"Bash(rmdir *)"
]
}
}
```
> [!warning]
> `CLAUDE.md` への記載だけでは不十分である。`CLAUDE.md` はあくまで指示であり、無視される可能性がある。権限設定の `deny` は強制力があるため、必ず併用する。
## 関連ノート
- **[前提]** [[CLAUDE.md の読み込みルール]]: 本ノートの指示は `CLAUDE.md` に書くため、先に読み込み挙動を押さえておくと失敗しにくい
- **[対比]** [[Claude Code の Hooks で音を鳴らして通知を受け取る]]: 本ノートの `rm` 差し替えと並ぶ、`settings.json` の別応用例