このエラーは、読もうとしたファイルが permissions.deny の対象に入っているときに出ます。少なくとも issue #73380 では、Read(**/*.xcconfig) や Read(**/APIConstants.swift) のような deny ルールと、PreToolUse hook を組み合わせてメインエージェントの読み取りを止める設定が報告されています。
ただし、同じ issue では少し気になる点も出ています。Task / Agent ツールで起動したサブエージェントが、ある時点では本来 denied のはずのファイル内容を返してしまい、その後の再テストでは同じ設定・同じファイルでも正しくブロックされた、と書かれています。つまり、少なくとも報告ベースでは「deny ルールが効いていない」と断言する前に、「どのエージェント経由で読みに行ったか」を切り分けたほうがよさそうです。
手元で確認できた環境情報はこれだけです。
[env_summary]
OS : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python : 3.8.13
検証日時 : 2026-09-21T08:51:41+09:00
設定ファイルについては、少なくとも筆者環境では次の場所に settings.json 系は見つかっていませんでした。
[settings_structure]
~/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.local.json: (存在しない)
なので、今回の一次情報だけから言えるのは「このエラーが出る原因の設定実体は筆者環境では確認できていない」というところまでです。設定が本当にあるか、別の場所に置かれているか、あるいは別のセッションでだけ読み込まれているかは分かりません。
issue #73380 の報告から読み取れる範囲で、症状の見分け方はこうなります。メインエージェントの Read で止まるなら、deny ルールそのものは少なくともその経路では働いている可能性があります。一方で、Task / Agent 由来のサブエージェントだけが読めてしまうなら、同じ設定でも経路差があるかもしれません。現時点では、そこが再現条件として一番重要です。
この症状に当たったら、まずは「どのツール呼び出しで読みに行ったのか」を確認してください。Read だけなのか、Bash や Grep、Glob を経由しているのか、さらに Task / Agent でサブエージェントが立っているのかで、見え方が変わる可能性があります。issue では PreToolUse hook も絡んでいたので、deny ルールだけでなく hook 側も一緒に見られていましたが、筆者はその実設定を確認できていません。ここは分からないです。
少なくとも、検索文字列そのものとしてはこのエラーをそのまま使うのがよさそうです。
File is in a directory that is denied by your permission settings.
OS : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python : 3.8.13
検証日時 : 2026-09-21T08:51:41+09:00