QR Send

スマホとPCのChrome間で、URLやテキストをQRコード1回のペアリングで送り合える自作Chrome拡張。アカウント不要・無料。

使ってみる →

Claude Code v2.1.314で作業ディレクトリ外への書き込みを止める

AI活用

Claude Codeに広い権限を渡して、無人のタスクを最後まで走らせたい。ですが、作業フォルダの外まで書き換えられる状態は少し怖いですよね。

v2.1.314で、書き込み先だけを作業ディレクトリ内に絞る設定が追加されました。権限モードを細かく戻さなくても、Write・Edit・NotebookEditの境界を決められます。

追加された設定

Claude Codeの設定ファイルに、次のように書きます。

{
  "permissions": {
    "blockWritesOutsideWorkingDirectories": true
  }
}

設定名は長いのですが、意味はそのままです。作業ディレクトリの外にあるファイルへの書き込みを止めます。

公式リリースノートでは、Write・Edit・NotebookEditが、どの権限モードでも作業ディレクトリ外のパスを拒否すると説明されています。

広い権限と書き込み範囲を分ける

無人実行では、毎回の確認を減らすために権限モードを広くすることがあります。ここで問題になるのが、許可したかったのは「このリポジトリで作業すること」なのに、書き込み範囲まで広がってしまうことです。

この設定を有効にすると、読み取りやコマンド実行の運用はそのままにして、ファイル変更の境界だけを狭くできます。タスクループや複数エージェントを動かすときに、かなり実用的です。

では動作を確認してみましょう

設定を保存したら、まず作業ディレクトリ内のファイルを変更する指示を出します。これは通常どおり実行できます。

次に、作業ディレクトリの外を指定してファイルを書き換える指示を出します。この場合は、書き込みが拒否されれば成功です。エラーが出ないことを成功と考えないでください。拒否されたパスと、作業ディレクトリとして認識された場所を確認しましょう。

なお、これはファイルの書き込み範囲を制限する設定です。外部コマンドが自分でファイルを変更するケースまで、同じ仕組みで防げるとは限りません。シェルスクリプトや生成ツールの権限も別に確認してください。

無人実行では境界を先に決める

AIに広い権限を渡すか、毎回確認して止めるか。この二択にしなくてよくなったのが今回の変更です。

まず作業ディレクトリを小さく保ち、次に blockWritesOutsideWorkingDirectories を有効にします。そのうえで、実行ログに拒否された書き込みを残す運用にすると、止まった理由も追いやすくなります。

無人化は、権限を広げることではありません。どこまでなら任せてよいかを、先に決めることです。v2.1.314のこの設定は、その境界を設定ファイルに書けるようにしたものですね。

公式の変更内容はClaude Code v2.1.314のリリースノートで確認できます。実際の設定は、使っている権限管理や起動方法と合わせて検証してください。

コメント

タイトルとURLをコピーしました