作業ディレクトリ外の読み取り確認
CHANGELOG 原文(英語)
Added a one-time prompt in auto mode before the first file read outside the working directories, with the option to block such reads (permissions.blockReadsOutsideWorkingDirectories) 公式の変更履歴を開く ↗ 日本語での補足
自動モードで初回のディレクトリ外読み取り前に一度だけ確認。permissions.blockReadsOutsideWorkingDirectoriesでブロック可能
ドキュメント
ドキュメントの抜粋(参考訳)
permissions.blockReadsOutsideWorkingDirectories
Read、Grep、Glob、LSP ツールによる、セッションの作業ディレクトリ外のパスの読み取りを禁止します。bypassPermissions を含む、すべての権限モードに適用されます。Bash で cat など Claude Code が認識するファイルコマンドを使って対象のパスを読み取ろうとした場合は、自動モードや bypassPermissions モードでも確認が表示されます。Claude Code v2.1.257 以降が必要です。
シェルパーサーが追跡できない Bash コマンド、たとえばディレクトリを 2 回以上移動するコマンドやサブシェルを実行するコマンドは、自動モードや bypassPermissions モードでも確認が表示されます。コマンドが作業ディレクトリ外のパスを指定していない場合でも、この確認は表示されます。コマンドがサンドボックス内で実行され、サンドボックスがこの禁止を強制する場合、この確認は表示されません。
自動モードで作業ディレクトリ外を初めて読み取る前の確認で、このような読み取りを禁止することを選んだ場合も、Claude Code はこの設定に true を書き込みます。
- 適用範囲:すべての設定ファイル(
Any file)。いずれかの設定元でtrueが指定されていれば、読み取りは禁止されます。リポジトリにチェックインされた設定ファイルから、プロジェクトの読み取り制限を有効にすることはできますが、ユーザーが設定した制限を解除することはできません。 - 型:真偽値
true:作業ディレクトリ外のファイルの読み取りを禁止します。false:未設定と同じです。他の設定ファイルにtrueがあれば、引き続き読み取りは禁止されます。
- 既定値:未設定。作業ディレクトリ外の読み取りは、権限モードとルールに従います。
{
"permissions": {
"blockReadsOutsideWorkingDirectories": true
}
}
リポジトリにチェックインされた設定ファイルだけで追加されたディレクトリは、引き続き読み取り禁止の対象です。autoMemoryDirectory がプロジェクトの .claude/settings.json、またはリポジトリ提供として扱われる .claude/settings.local.json から設定されている場合、Claude Code はそのディレクトリから自動メモリーを読み込まず、保存もしません。一方、~/.claude/ 配下のスキル、プラグイン、ルール、エージェント、コマンド、メモリーファイル CLAUDE.md など、Claude Code 自体が必要とするファイルは引き続き読み取れます。
サンドボックスが有効な場合、サンドボックス内のコマンドによる、作業ディレクトリ外のホームディレクトリやマウントされたボリュームのルートへの読み取りアクセスも禁止されます。サンドボックス外で実行するための再試行に承認が必要な場合は、bypassPermissions モードでも確認が表示されます。~/.gitconfig など、ツールがホームディレクトリから読み取るファイルも同様に禁止されます。ツールに必要な場合は、sandbox.filesystem.allowRead で特定のパスの読み取りを再び許可してください。
セッションの作業ディレクトリがリンクされた git worktree である場合、セッション途中で Claude Code がその worktree に移動した場合も含め、リポジトリ共通の .git ディレクトリは、サンドボックス内のコマンドから引き続き読み書きできます。そのため、その worktree でも git を利用できます。
取得日 · 2026-09-23
ドキュメントの抜粋(参考訳)
作業ディレクトリ外の初回読み取り
permissions.blockReadsOutsideWorkingDirectories が無効な場合、自動モードでは作業ディレクトリ外も含め、ファイルの読み取りを確認なしで実行します。Claude が Read、Grep、Glob のいずれかのツールで作業ディレクトリ外のパスを初めて読み取ろうとすると、Claude Code はそのような読み取りを引き続き許可するか確認します。
非対話型の -p 実行やバックグラウンドセッションでは、この確認は表示されません。これらの環境での読み取りは、これまでどおり実行されます。
どの回答を選んでも、Claude は作業を続けます。
- 引き続き許可する(Keep allowing):読み取りを実行します。以降の作業ディレクトリ外の読み取りも、これまでどおり実行されます。Claude Code は回答を記録し、この確認を再び表示しません。
- 今後は禁止する(Block from now on):読み取りを拒否し、ユーザー設定の
permissions.blockReadsOutsideWorkingDirectoriesをtrueに設定します。以降のすべてのセッションと権限モードで、ファイル操作ツールはこのような読み取りを拒否します。後からそのパスを読み取れるようにするには、/add-dirで対象のディレクトリを追加するか、この設定を削除してください。 - 次回もう一度確認する(Ask again next time):読み取りを拒否し、次に作業ディレクトリ外を読み取ろうとしたときに再び確認します。
取得日 · 2026-09-23