[[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` の別応用例