結論:Bashを許可する前後で、変更の見え方を二重に確認する

Claude Code 2.1.269では、Bash toolがファイル編集を処理した場合、そのBash tool結果に変更ファイルのdiffを追加する改善が入り、設定名はbashEditDiffEnabledです。これを有効にしてもBashの実行許可やsandboxが広がるわけではありません。実行前のpermission、実行結果の差分、Gitの最終状態を三つのゲートとして確認します。

差分表示は「何が変わったか」を早く見るための補助です。コマンドが生成した未追跡ファイル、削除、権限変更、外部サービスへの副作用、別directoryの変更まで自動で安全と判定するものではありません。変更対象を限定したfixtureで、設定が本当に適用されるversionとscopeを確認してからチームへ展開します。

根拠はClaude Code公式changelog、公式permissions、公式monitoringです。差分の可視化と実行の許可を混同しないことが、今回の検索意図への直接回答です。

4種類の「差分」を比較する

確認対象分かること見落とすこと
Bash tool結果のedit diffその結果に関連するファイル編集外部副作用・未追跡の全て
/diff作業中の変更を画面で確認レビュー済みの意味づけ
git difftracked fileの差分未追跡、ignore、外部変更
監査・telemetry実行イベントや経路コードの意味そのもの

2.1.269の改善はBash tool結果の視認性を上げますが、通常のGit reviewを廃止する根拠ではありません。Bashでformatter、migration、code generatorを動かす時は、標準出力に成功と出ても意図外のdirectoryを変更できます。作業前のgit status、コマンド、対象path、作業後のgit diff --stat、レビュー結果を一つの記録へまとめます。

導入前にpermissionと設定scopeを確認する

公式permissionsは、allow・ask・denyのルールやsettingsのscopeを使ってClaude Codeの操作境界を管理します。bashEditDiffEnabledは設定の一項目であり、Bash(*)のallowやdenyを意味しません。managed settings、project settings、local settings、command lineに同名・関連設定がある場合は、どのsourceが採用されたかを/statusやdebug出力と設定台帳で確認します。

差分にsecretが出る可能性も考えます。生成されたconfig、env、ログ、test fixtureにtokenや個人情報が含まれていれば、画面の差分をそのまま共有しません。MCPやtelemetryへ送られる情報も別経路です。差分表示、画面共有、ログ保存、collector転送を同じ「レビュー」として扱わず、公開可否と保持期間を分けます。

検証手順:安全なfixtureで8ステップ

  1. claude --versionを記録し、2.1.269のchangelog記載と手元の設定対応を確認します。
  2. 秘密情報を含まない一時repositoryを作り、tracked file、未追跡file、変更禁止fileを一つずつ用意します。
  3. 実行前のgit status --short、branch、worktree、設定scope、permission ruleを保存します。
  4. 小さなformatterまたはtest generatorだけをBashで実行し、外部送信や破壊操作を含めません。
  5. Bash tool結果にedit diffが付くか、対象path・追加・削除・変更の内容が正しいかを確認します。
  6. /diffとgit diffを照合し、未追跡file、ignore、別pathの変更を別に確認します。
  7. 同じfixtureでpermissionをask、deny、限定allowへ切り替え、差分表示が権限を変えないことを確認します。
  8. 採用するscope、表示・保存・共有のルール、secret検出、rollback、version更新時の再検証日を文書化します。

既存の/diff差分パネルは画面上の確認、無人実行のprompt設計は承認待ち、Git read-only permissionはversion回帰の切り分けに関係します。三つを一つの機能だと考えず、実行前、実行中、実行後の責任者を置きます。

料金・制限・運用上の判断

差分表示の追加がモデル料金や利用枠を変更するという公式保証は確認できません。料金はモデル、API、provider、Gateway、telemetryの構成で変わります。差分を有効化した後は、同じfixtureで入力・出力token、実行時間、再実行、レビュー時間、ログ容量を測り、表示の利便性と運用コストを分けて評価します。

制限面では、差分は変更内容を要約するものではなく、コードの安全性を保証しません。バイナリ、巨大生成物、rename、permission bit、symlink、外部DB変更などは表示とGit差分で見え方が異なることがあります。失敗時にも元の状態へ戻せるよう、変更前commit、isolated worktree、artifact保存、復旧担当を決めます。長時間sessionのGit read-only permission回帰は2.1.270で修正されたため、古いversionで出た許可要求をこの設定の問題と決めつけません。

チェックリスト:差分表示を標準化する前に

□2.1.269以降か確認した □設定名とscopeを記録した □permissionと分離した □秘密情報なしのfixtureを作った □tracked・untracked・ignoreを比較した □Bash結果・/diff・Git差分を照合した □外部副作用を別監査した □差分の共有・保存・削除を決めた □失敗時のrollbackを試した □2.1.270のGit回帰修正も含めversion更新を再検証する日を決めた。

よくある質問

bashEditDiffEnabledは実行を安全にしますか?

しません。差分を見やすくする設定であり、permission、sandbox、deny ruleを置き換えません。

/diffだけで十分ですか?

十分とは限りません。Bash結果、作業ツリー、Git差分、未追跡file、外部副作用を照合します。

設定名は何ですか?

公式changelogの表記はbashEditDiffEnabledです。手元のversionと設定scopeが対応しているかを確認してください。

公式情報と無料診断

機能の追加とversionは公式changelog、許可境界は公式permissions、監査・転送の分離は公式monitoringを公開直前にreadbackしました。Miraigentの無料診断では、Bash、差分、Git、承認、証跡を一つの安全運用表へ整理します。