一般企業に勤めるSE向けに、AI関連の最新情報を「実務での判断」に翻訳して届ける。

実装

権限を絞った Claude Code を「渡せる」ようになった

Claude Code v2.1.248(2026年8月27日)に --restricted が入った。環境変数では CLAUDE_CODE_RESTRICTED=1 である。

一次ソースの記述はこうなっている。

コマンドやコードを実行する組み込みツールと WebFetch を外す(--tools で明示した場合を除く)。ファイル系ツールは作業ディレクトリの内側に留める。bypassPermissions を拒否する。ユーザー・プロジェクト・ローカルの設定ファイルを無視する。

何が外れて、何が残るか

--restricted での扱い
コマンド・コードを実行する組み込みツール 外れる(--tools で明示すれば戻せる)
WebFetch 外れる(同上)
ファイル系ツール 残る。ただし作業ディレクトリの外に出られない
bypassPermissions 拒否される
ユーザー/プロジェクト/ローカルの設定ファイル 無視される

許可モードを絞るのとは別の操作である点が重要である。許可モードは「都度聞く/聞かない」の話だが、--restricted はそもそも渡す道具を減らす。

で、SEの実務ではどう使うか

効くのは4つ目の「設定ファイルを無視する」である。

Claude Code を自動化に組み込むとき、いちばん厄介なのは手元では動くのに CI では落ちる、あるいはその逆という状態である。原因の多くは ~/.claude/settings.json やプロジェクト直下の設定で、書いた本人しか持っていない許可ルールが効いているからである。

--restricted を付けると、その差が消える。手元でも CI と同じ条件で走らせられる。 再現しない不具合を追う前に、まずこれを付けて切り分ける、という使い方ができる。

もうひとつは「渡せる」ようになったことである。

これまで、権限を絞った状態でセッションを他人に触らせようとすると、設定ファイルの管理まで含めて面倒を見る必要があった。フラグ1つで確定するなら、渡す側が何を渡したかを説明できる。

  • CI やバッチのパイプラインに組み込むとき
  • 検証環境で、リポジトリの外に触ってほしくないとき
  • 社内で試用してもらうとき、実行系を外した状態で配りたいとき

稟議やセキュリティレビューで問われるのは「何ができないか」である。 許可モードの説明は「都度確認します」になりがちだが、--restricted はできないことがフラグで固定される。 説明する側にとってはこちらのほうが短い。

なお --tools で個別に戻せるので、「実行系は全部落として Read と Grep だけ渡す」といった構成も作れる。戻せる設計になっているぶん、何を戻したかを記録しておく必要はある。

出典

  1. https://code.claude.com/docs/en/changelog