環境変数

CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT

1を設定すると、コマンド置換の出力のみを対象とする再帰的 rm の重要パスチェックを無効にする。例: rm -rf "$(pwd)"。他の重要パスチェックは引き続き実行される。設定は Claude Code を起動する環境で行う必要がある。Claude Code は設定 env ブロックで渡されたコピーを無視するためである。Claude Code v2.1.281 以降が必要

使い方・用途

  • rm -rf "$(pwd)" のようにコマンド置換の出力のみを対象とする再帰的 rm に対する確認プロンプトを無効化する
  • 以前はこのような rm が自動モードや --dangerously-skip-permissions で確認なしに実行されていたが、確認が追加され、この変数を 1 にした場合のみ確認が省略される
  • 他の重要パスチェックは引き続き実行される
  • 起動環境の環境変数としてのみ読まれ、settings.json の env ブロックに書いても無視される点に注意
英語原文(公式ドキュメントより)

Set to 1 to turn off the critical-path check for a recursive rm whose target is entirely the output of a command substitution, such as rm -rf "$(pwd)". The other critical-path checks keep running. Set it in the environment that launches Claude Code, since Claude Code ignores a copy delivered through a settings env block. Requires Claude Code v2.1.281 or later

関連ドキュメント

関連する変更履歴

v2.1.281(1件)

Fixed
rm -rf '$(pwd)' のようにターゲットがコマンド置換の出力のみである再帰的な rm が、auto モードや --dangerously-skip-permissions モードで確認なしに実行される問題を修正した。Bash の許可ルールがあっても確認を求めるようになり、CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1 を付けて実行した場合のみスキップされる
英語原文を表示
Fixed a recursive rm whose target is only command-substitution output, such as rm -rf "$(pwd)", running unprompted in auto and --dangerously-skip-permissions mode; it now asks even with a Bash allow rule, unless run with CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1

関連ドキュメント