Skip to content

Bash権限ダイアログの「次回から確認しない」でパイプ・複合コマンドの生コマンドが表示される問題の修正

原文(日本語に翻訳)

Bash権限ダイアログの「次回から確認しない」で、パイプや複合コマンドの生のコマンド全体が表示される問題を修正

原文(英語)

Fixed "don't ask again" in the Bash permission dialog showing the full raw command for pipes and compound commands

概要

Claude CodeのBash権限ダイアログで「don't ask again(次回から確認しない)」を選択した際、パイプ(|)や複合コマンド(&&||)を含むコマンドの場合に、整形されていない生のコマンド文字列がそのまま表示されてしまう問題が修正されました。修正後は、複合コマンドでも適切にフォーマットされた読みやすい形式で表示されるようになりました。

基本的な使い方

Claudeがコマンドを実行しようとすると、未許可のコマンドの場合に権限ダイアログが表示されます。ここで「don't ask again」を選択すると、そのコマンドパターンが許可リストに追加されます:

Claude wants to run: cat package.json | jq '.dependencies'

[Allow] [Don't ask again] [Deny]

実践例

パイプを含むコマンド

修正前は、パイプを含むコマンドで「don't ask again」を選択すると以下のように表示されていました:

# 修正前の表示(読みにくい)
Added permission: Bash(cat package.json | jq '.dependencies':*)

# 修正後の表示(適切にフォーマット)
Added permission: Bash(cat:*)

複合コマンド(&& チェイン)

bash
# 実行するコマンド
cd /project && npm install && npm run build
# 修正前の表示
Added permission: Bash(cd /project && npm install && npm run build:*)

# 修正後の表示(先頭コマンドを適切に抽出)
Added permission: Bash(cd:*)

セミコロン区切りのコマンド

bash
# 実行するコマンド
echo "start"; make clean; make build
# 修正前の表示
Added permission: Bash(echo "start"; make clean; make build:*)

# 修正後の表示
Added permission: Bash(echo:*)

注意点

  • 表示の改善のみ: この修正は権限ダイアログにおけるコマンドの表示方法の改善であり、権限の動作自体には変更ありません
  • 複合コマンドの権限: パイプや && で繋がれたコマンドの場合、各サブコマンドに対して個別に権限が評価されます
  • 既存の許可ルール: 修正前に追加された生のコマンド文字列による許可ルールが .claude/settings.json に残っている場合は、手動でクリーンアップすることをお勧めします
  • ワイルドカードパターン: 「don't ask again」で追加されるルールは Bash(cmd:*) 形式のワイルドカードパターンです

関連情報