settings.json

permissions.blockReadsOutsideWorkingDirectories

boolean記述場所どの設定ファイルでも可

Read・Grep・Glob・LSP ツールでの、セッションの作業ディレクトリ外パスへの読み取りを、bypassPermissions を含むすべての権限モードでブロックします。

既定値: 未設定であり、その場合、作業ディレクトリ外の読み取りは権限モードとルールに従って動作します

記述例

{
  "permissions": {
    "blockReadsOutsideWorkingDirectories": true
  }
}

使い方・用途

  • 作業ディレクトリ外のファイル読み取りを Read・Grep・Glob・LSP ツールで禁止し、bypassPermissions を含むすべての権限モードで適用される。Bash コマンドが cat など認識対象のコマンドで該当パスを読む場合、自動モードや bypassPermissions モードでも確認プロンプトが表示される。デフォルトは未設定で、その場合は権限モードとルールに従う。 要 Claude Code v2.1.257 以降
  • macOS で有効化しても、サンドボックス内の git コマンドがユーザーの git config を参照でき、worktree 分離されたサブエージェントも自身のチェックアウトにアクセスできるよう修正済み
  • 自動モードでは、作業ディレクトリ外のファイル読み取り時に初回のみプロンプトが表示され、この設定でブロックすることも可能
英語原文(公式ドキュメントより)

Stop Claude from reading paths outside the session's [working directories](/docs/en/permissions#working-directories) with the Read, Grep, Glob, and LSP tools, in every permission mode including bypassPermissions. A Bash command that reads a matching path through a file command Claude Code recognizes, such as cat, prompts you even in auto mode and bypassPermissions mode. Requires Claude Code v2.1.257 or later.

関連ドキュメント

関連する変更履歴

v2.1.273(2件)

Fixed
permissions.blockReadsOutsideWorkingDirectories 有効時に、権限チェッカーが完全に解析できないBashコマンドがプロンプトをスキップする問題と、bypassモードでサブシェルが危険な rm コマンドを隠す問題を修正した。
英語原文を表示
Fixed Bash commands the permission checker cannot fully analyze skipping the prompt under permissions.blockReadsOutsideWorkingDirectories, and a subshell hiding a dangerous rm in bypass mode

変更前

権限チェッカーが完全に解析できないBashコマンドは permissions.blockReadsOutsideWorkingDirectories 有効時にプロンプトを表示せずに実行され、bypassモードではサブシェルで危険な rm コマンドを隠して検出を回避できた。

変更後

権限チェッカーが完全に解析できないBashコマンドが、permissions.blockReadsOutsideWorkingDirectories 有効時にプロンプトを表示せずに実行される問題と、bypassモードでサブシェルが危険な rm コマンドを隠して検出を回避できる問題が修正された。

ユーザーへの恩恵

ユーザーは解析困難なコマンドやサブシェル経由の危険なコマンドに対しても確実にプロンプトで確認できるようになり、意図しないファイル削除などのリスクを減らせる。

Fixed
MemoryPermission
permissions.blockReadsOutsideWorkingDirectories の不具合を修正: リポジトリの settings で選択されたメモリディレクトリが、プロンプトへの読み込み・recall・インデックス化・メモリ抽出に使われなくなった。
英語原文を表示
Fixed permissions.blockReadsOutsideWorkingDirectories: a memory directory chosen by a repository's settings is no longer loaded into the prompt, recalled, indexed, or used by memory extraction

変更前

permissions.blockReadsOutsideWorkingDirectories を設定しても、リポジトリの settings で選ばれたメモリディレクトリが working directory の外にあってもプロンプトに読み込まれ、recall・インデックス化・メモリ抽出に使われていた。

変更後

メモリディレクトリがプロンプトへ読み込まれず、recall・インデックス・メモリ抽出にも使われなくなった。

ユーザーへの恩恵

working directory 外からのメモリ読み込みをブロックできるようになり、意図しないコンテキスト混入を防げる。

関連ドキュメント

v2.1.271(1件)

Fixed
bypass モードおよび auto モードで、permissions.blockReadsOutsideWorkingDirectories が有効な場合に、2つのディレクトリ移動やサブシェル、cdgit の連鎖を含む Bash コマンドが確認プロンプトをスキップする問題を修正した。
英語原文を表示
Fixed Bash commands with two directory changes, a subshell, or a cd+git chain skipping the prompt under permissions.blockReadsOutsideWorkingDirectories in bypass and auto mode

変更前

bypass モードと auto モードでは、permissions.blockReadsOutsideWorkingDirectories が有効でも、作業ディレクトリ内で2つのディレクトリ移動(例: cd dir1 && cd dir2 && cat file)を含む Bash コマンドや、サブシェル(例: (cd /tmp && cat file))、cdgit の連鎖(例: cd /etc && git status)を含むコマンドは、作業ディレクトリ外への読み取りを含んでいてもプロンプトが表示されずに実行されていました。

変更後

bypass モードと auto モードでは、2つのディレクトリ移動を含む Bash コマンドや、サブシェル、cdgit の連鎖を含むコマンドでも、permissions.blockReadsOutsideWorkingDirectories が有効な場合に作業ディレクトリ外への読み取りについて確認プロンプトが表示されるようになりました。

ユーザーへの恩恵

ユーザーは複雑な構造の Bash コマンドであっても、作業ディレクトリ外への読み取りが見逃されることなく、常に確認できるようになった。

v2.1.260(1件)

Fixed
macOS で permissions.blockReadsOutsideWorkingDirectories が有効な場合に、サンドボックス内の git コマンドからユーザーの git config が隠されたり、worktree 分離されたサブエージェントが自身のチェックアウトを参照できなくなる問題を修正した。
英語原文を表示
Fixed permissions.blockReadsOutsideWorkingDirectories on macOS hiding the user's git config from sandboxed git and hiding a worktree-isolated sub-agent's own checkout

変更前

macOS でも permissions.blockReadsOutsideWorkingDirectories が正しく機能し、サンドボックス化された git コマンドからユーザーの git config を保護し、worktree 分離されたサブエージェントも自身のチェックアウトに問題なくアクセスできる。

変更後

permissions.blockReadsOutsideWorkingDirectories が有効な環境でサンドボックス内の git コマンドがユーザーの git config を読めず、worktree 分離されたサブエージェントも自身のチェックアウトを参照できずに動作しなかった。

ユーザーへの恩恵

macOS ユーザーはファイル読み取り制限を有効にしても git 操作や worktree 分離されたサブエージェントが正常に動作するようになる。

v2.1.257(1件)

Added
作業ディレクトリ外の最初のファイル読み取り時に、そのような読み取りをブロックするオプションを提供するために、自動モードで一度だけプロンプトを表示する機能を追加しました。
英語原文を表示
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 設定により、そのような読み取りをブロックすることも可能です。

ユーザーへの恩恵

ユーザーは、作業ディレクトリ外へのファイルアクセスを制御できるようになり、意図しない読み取りを防ぐことができます。

関連ドキュメント