2026年10月30日に公開されたClaude Codeのバージョン2.1.314で、AIが作業フォルダの外にあるファイルを書き換えるのを止める設定「permissions.blockWritesOutsideWorkingDirectories」が追加されました。
当記事では、この設定で何が止まり何が止まらないのか、設定ファイルへの書き方、なぜセキュリティの面で大事なのかを、AI初心者向けにわかりやすく解説します。
Claude Code 2.1.314で作業フォルダの外への書き込みを止める設定が追加(2026年10月30日)
CHANGELOG(更新履歴)に書かれた内容
Claude Code(クロード・コード)は、Anthropicが提供する、パソコンの中でファイルを読み書きしながら作業を進めてくれるAIのツールです。公式のCHANGELOG(更新履歴)によると、バージョン2.1.314で次の設定が追加されました。
| 項目 | 内容 |
|---|---|
| バージョン | 2.1.314 |
| 公開日 | 2026年10月30日(日本時間の午前9時ごろ・npmの公開記録より) |
| 設定の名前 | permissions.blockWritesOutsideWorkingDirectories |
| 止める道具 | Write(ファイル作成)・Edit(ファイル編集)・NotebookEdit(ノートブック編集) |
| 止める場所 | 作業フォルダ(working directories)の外のパス |
| 効くモード | すべての権限モード |
※2026年10月31日時点・Claude Code公式のCHANGELOGとnpmの公開記録より編集部が整理
CHANGELOGの説明を編集部が訳すと、Write・Edit・NotebookEditは、どの権限モードでも、作業フォルダの外のパスを拒否するという内容です(編集部訳)。確認なしで動かすモードでも止まるのが、これまでの「確認画面」との大きな違いです。
>>Claude Code公式「CHANGELOG」(英語・2.1.314の項目)
そもそも「作業フォルダ」とは?
公式ドキュメントによると、Claude Codeの作業フォルダ(working directories)は、基本的にClaude Codeを起動したフォルダとその中のフォルダです。そこに、起動時の「–add-dir」、作業中の「/add-dir」、設定ファイルの「additionalDirectories」で追加したフォルダが加わります。つまり、作業フォルダとは「このフォルダの中で作業してね」とAIに渡した範囲のことです。
>>Claude Code公式ドキュメント「権限を設定する」
同じ版のほかの主な追加
2.1.314では、ほかにも次のような追加がありました(CHANGELOGより編集部が要約)。
- VS CodeとClaudeデスクトップアプリのCodeタブで、20万トークン以上の長い会話をしばらく放置すると、自動で要約しておく機能(アイドル時の自動要約)
- 会社向けの中継の仕組み(Claude apps gateway)で、所属グループごとに接続先を分ける設定など
- そのほか、多数の不具合の修正
Claude Codeの書き込み制限で止まるもの・止まらないもの
止まるもの:Write・Edit・NotebookEditによる書き込み
Claude Codeは、ファイルを新しく作るときはWrite、書き換えるときはEdit、Jupyterノートブック(.ipynb)を書き換えるときはNotebookEditという道具(ツール)を使います。この設定をオンにすると、これら3つの道具で作業フォルダの外のファイルを書き換えようとしたときに、どの権限モードでも拒否されます。
CHANGELOGに書かれていないもの:Bash(コマンド)での書き込み
Claude Codeは、Bash(ターミナルのコマンド)を実行してファイルを書き換えることもできます。CHANGELOGで対象として名前が挙がっているのはWrite・Edit・NotebookEditの3つだけで、Bashのコマンドによる書き込みが止まるとは書かれていません。
公式のセキュリティの説明でも、作業フォルダの境界は確認画面のしくみなので、利用者が許可したBashのコマンドは、自分のアカウントで書けるところならどこにでも書けると説明されています。Bashでの書き込みまでOSのレベルで縛りたい場合は、公式はサンドボックス(後で説明します)を案内しています。
読み取りは別の設定で止める
この設定が止めるのは書き込みだけです。作業フォルダの外のファイルを読むのを止めたい場合は、先に用意されていた「permissions.blockReadsOutsideWorkingDirectories」という別の設定を使います(バージョン2.1.257以降)。
公式ドキュメントによると、こちらをオンにすると、Read(読み取り)・Grep(文字の検索)・Glob(ファイル名の検索)・LSPの道具は、どの権限モードでも作業フォルダの外を読めなくなります。ただし、Claude Code自身が使うスキルやCLAUDE.mdなどは読めるままです。また、Bashのコマンドは拒否ではなく、確認画面を出すしくみになっています。
additionalDirectoriesとの関係
additionalDirectoriesなどで追加したフォルダは、作業フォルダの一部として扱われます。そのため、作業フォルダの外でも書き換えてよいフォルダがある場合は、そのフォルダを作業フォルダに追加しておくことになると考えられます。
なお、読み取り版の設定では、ユーザー設定・管理者の設定・起動時の指定で追加したフォルダは作業フォルダとして数えられる一方、リポジトリ(プロジェクト)の設定ファイルだけで追加したフォルダは数えられないと説明されています。書き込み版でも同じ扱いになるのかは、2026年10月31日時点の公式ドキュメントにはまだ説明がありません。
Claude Codeの書き込み制限の設定方法、JSONの書き方
まずはバージョン2.1.314以降にする
この設定は2.1.314で追加されたものなので、それより古いClaude Codeでは使えません。ターミナルで次のコマンドを実行すると、今のバージョンを確かめられます。
claude --version
設定ファイルに書く例
設定の名前は「permissions.」で始まるので、読み取り版の設定の公式の例と同じく、設定ファイル(settings.json)の「permissions」の中に書きます。書き方の例は次の通りです(すでにほかの設定がある場合は、permissionsの中に1行足します)。
{
"permissions": {
"blockWritesOutsideWorkingDirectories": true
}
}
読み取りもあわせて止めたい場合は、次のように2つ並べて書きます。
{
"permissions": {
"blockReadsOutsideWorkingDirectories": true,
"blockWritesOutsideWorkingDirectories": true
}
}
CHANGELOGには既定値(初期の状態)の記載はありませんが、新しく「追加」された設定なので、自分で true を書いてオンにする設定と考えるのが自然です。読み取り版の設定も、既定は「設定なし」で、作業フォルダの外の読み取りは権限モードに従うと説明されています。
どの設定ファイルに書く?
Claude Codeの設定ファイルは、主に次の場所にあります(公式ドキュメントより)。
| 種類 | 置き場所 | 効く範囲 |
|---|---|---|
| ユーザー設定 | ホームの .claude/settings.json | 自分のすべてのプロジェクト |
| 共有プロジェクト設定 | プロジェクトの .claude/settings.json | そのプロジェクトで作業する全員 |
| ローカル設定 | プロジェクトの .claude/settings.local.json | 自分だけ・そのプロジェクトだけ |
※2026年10月31日時点・Claude Code公式ドキュメント「設定ファイルと優先順位」より編集部が整理(会社が配る管理者の設定もあります)
すべてのプロジェクトで守りたいなら、ユーザー設定(ホームの .claude/settings.json)に書くのが分かりやすいでしょう。読み取り版の設定は、どの設定ファイルでも true が1つあれば有効になり、リポジトリの設定ではオンにはできても、利用者のオンを解除することはできないと説明されています。書き込み版の細かい扱いは、公式ドキュメントへの掲載を待って確認しておきましょう。
>>Claude Code公式ドキュメント「設定ファイルと優先順位」
▶ 関連記事:Claude Codeの権限設定を見直そう!溜まった許可の点検とdenyの書き方
Claude Codeの書き込み制限はなぜ大事?プロンプトインジェクションから~/.zshrcを守る
プロンプトインジェクションとは
プロンプトインジェクションとは、Webページやファイルの中にAIへの指示をこっそり紛れ込ませて、AIを操ろうとする攻撃です。公式のセキュリティの説明でも、攻撃者が悪意のある文章を差し込んで、AIへの指示を上書きしたり操ったりしようとする手口として紹介されています。
もしAIが操られて、ホームの「.zshrc」(ターミナルを開くたびに読み込まれる設定ファイル)や、関係のないほかのプロジェクトのフォルダを書き換えてしまうと、次にターミナルを開いたときに勝手なコマンドが動くなど、被害が作業中のフォルダの外に広がるおそれがあります。
▶ 関連記事:プロンプトインジェクション対策は「手」を縛る!Claude Code・Codexの守り方
これまでの作業フォルダの境界は「確認画面」だった
公式ドキュメントによると、手動で許可するモードでは、Claude Codeは作業フォルダの外を読み書きする前に利用者に確認します。また、.zshrcや.bashrc、.gitconfigなどは「保護されたパス」として、確認をすべて省くモードなどを除き、自動では許可されません。
ただ、確認画面は「はい」を押せば通りますし、確認をすべて省くモードで使うこともできます。今回の設定は、Write・Edit・NotebookEditによる書き込みを、確認画面ではなく「拒否」で止めるので、うっかり許可したり、確認なしのモードで動かしたりしても書き換えられないのがポイントです。
Bashも縛るなら、サンドボックスと組み合わせる
前述の通り、この設定はBashのコマンドによる書き込みを止めるとは書かれていません。公式ドキュメントでは、Bashのコマンドをサンドボックス(決められた範囲の外に手を出せない囲い)の中で動かす機能が用意されています。
サンドボックスは初期状態ではオフで、作業中に「/sandbox」を実行するか、設定ファイルで有効にするとオンになります。オンにすると、コマンドが書き込めるのは、作業フォルダ・一時フォルダ・追加したフォルダに限られます。今回の設定とサンドボックスを組み合わせれば、道具とコマンドの両方で、作業フォルダの外への書き込みを防ぎやすくなるでしょう。
>>Claude Code公式ドキュメント「サンドボックス化された Bash ツールを設定する」
▶ 関連記事:Claude Code hooksで「はい」を押しても止まる守りを作る!PreToolUseの使い方
【まとめ】作業フォルダの外への書き込みは、新しい設定で「拒否」できる
Claude Code 2.1.314で追加された「permissions.blockWritesOutsideWorkingDirectories」は、Write・Edit・NotebookEditが作業フォルダの外を書き換えるのを、どの権限モードでも止める設定です。Bashでの書き込みや読み取りは別の守り(サンドボックスや読み取り版の設定)と組み合わせる必要があります。Claude Codeを使っている人は、バージョンを確かめて、設定ファイルに1行足しておきましょう。
AIの技術・サービス・ルールは変化が速く、本記事の予測や見通しは将来を保証するものではありません。各サービスの仕様・料金は公式サイトで最新の情報をご確認ください。本記事の情報は2026年10月31日時点のものです。
