著者は、Claude Code 2.1.248の起動オプション--restrictedを使うとproject/local設定ファイル(.claude/settings.json)が無視される仕様の副作用として、そこに定義されたPreToolUseフックもサイレントに無効化されることを最小限の検証実験で確認しました。
判定前に必ずマーカーファイルを書き込むガードフックを用意し、--restrictedなし(baseline)とあり(restricted)を比較したところ、baselineではマーカーファイルが生成されフックが動作した一方、restrictedでは一度もフックが起動しませんでした。著者はこの結果を「意図的な仕様の未文書化な帰結を確認したもの」と述べています。
出典が伝えている要点
- 検証対象はClaude Codeバージョン2.1.248である
- --restricted フラグはproject/local設定ファイルを無視する仕様である
- この仕様の結果として、.claude/settings.jsonに定義されたPreToolUseフックもサイレントに無効化される
- 著者は判定前に必ずマーカーファイルを書き込むガードフックを用いた検証テストを設計した
- --restrictedなしのbaselineケースではhook-marker.txtが作成され、フックが動作した
- --restrictedありのrestrictedケースではhook-marker.txtが生成されず、フックが一度も起動しなかった
- 著者はこの結果を意図的な仕様の未文書化な帰結を確認したものと述べている
原文より
この結果は…意図的な仕様の未文書化な帰結を確認したもの
出典: zenn.dev