restricted modeは、Claude Codeの実行面を小さくして起動するモードです。
コマンド・コード実行、WebFetch、設定ファイル、ファイル操作範囲をまとめて絞れます。ただし、OSのsandboxや隔離コンテナそのものではなく、追加するツールやMCPまで自動的に安全になるとは確認できません。
v2.1.251では、権限確認をすり抜ける経路が複数修正されました。
restricted mode自体はv2.1.248で追加されたままですが、最新確認版v2.1.251では、承認済み場所の外へ到達し得るsymlink、pluginのpath traversal、Workflow script、Grep・Globのdeny ruleなど、権限境界に関係する修正が公式Releaseに追加されています。
提供元が修正内容を公表したことはCURRENTです。一方、このMacは2.1.201のままで、v2.1.251の拒否挙動・Chrome連携・MCP・agent teamsは実機未検証です。
- file toolsで、権限確認後に差し替えられたsymlinkを追う問題を修正
- plugin commandのplugin directory外へのpath traversalを拒否
- Grep・Globのsymlink経由によるdeny rule回避を修正
- WorkflowのscriptPathを、読み込み前にpermission check
- Claude in ChromeのactionをClaude Codeのpermission checkへ統一
restricted modeを使うと、何が変わる?
--restrictedまたはCLAUDE_CODE_RESTRICTED=1を明示すると、セッション開始時にClaude Codeが使える道具と読み込む設定を減らします。必要な機能を後から明示する前提なので、最初から広い権限を渡さずに調査やレビューを始められます。
環境に用意された機能を、設定とpermission modeに従って使う。
重要なのは「すべて止まる」ではなく、「標準の入口が減る」ことです。 たとえばWebFetchは標準で外れますが、`--tools`で明示すれば追加できます。許可した道具の権限と副作用は、別に確認します。
何が止まり、何が残る?
次の表はv2.1.248 Releaseに書かれた境界を、運用時に確認する単位へ分けたものです。書かれていない範囲まで「安全」と拡大解釈しません。
Releaseが明示するのはWebFetchなどのbuilt-in toolと設定・ファイル範囲です。MCP、追加ツール、認証済み外部サービス、OS権限まで一括で隔離する機能としては扱いません。
どんな作業から使うとよい?
最初の用途は、未知のコードや資料を読み、整理し、変更案を作るところです。外部送信や実行が必要になった時点で、目的と必要な道具を人間が確認します。
実行せず、作業ディレクトリ内の構造と変更候補を読む。
作業範囲を固定し、外部取得を標準では使わずに分類する。
必要toolを列挙し、書き込み・送信・課金を別ゲートにする。
user/project/local settingsを読まない条件で差分を見る。
このMacで、実際にどこまで確認できた?
アップデートやセッション起動はせず、現在のClaude Codeの版とhelpだけをローカルで取得しました。成功条件は、外部通信やファイル変更をせず、v2.1.248の実機検証へ進める状態か判定することです。
- 実行日・環境
- 2026.08.28 / macOS / Node.js 24.16.0
- ローカル版
- Claude Code 2.1.201
- 実行内容
- `claude --version` と `claude --help`
- 実出力
- 両コマンドexit 0 / 842.5ms
- 外部接続・費用
- 0件 / ¥0
- 未確認
- 2.1.248起動、tool一覧、MCP、設定、権限拒否
node scripts/audit-claude-code-restricted.mjs- PASSversion取得に成功
- PASShelp取得に成功
- STOP2.1.248未満のため機能検証へ進まない
- NOTEhelpにrestricted表記なし
公式CLI referenceは、`claude --help`が全flagを載せるとは限らないと説明しています。したがって、helpに表示されなかった事実だけで機能不在とは判定せず、版が2.1.248未満であることを停止理由にしました。
導入するときは、どの順で確かめる?
本番環境を直接更新せず、隔離した検証環境で「使えないこと」と「必要なこと」を別々に確認します。次の順番なら、権限を広げた理由も記録できます。
- 01現行版と設定元を記録
`claude --version`と`/status`で、版・working directory・読み込まれる設定元を残します。
- 02検証環境だけ2.1.248以降へ
変更前へ戻せる環境を作り、秘密情報を置かずに更新します。
- 03restrictedで最小起動
`claude --restricted`で開始し、command/code/WebFetch、範囲外ファイル、bypassが使えないことを確認します。
- 04必要toolだけ明示
目的、入力、出力、副作用、認証、ログを確認したtoolだけ`--tools`へ追加します。
- 05外部操作は人間承認
送信、削除、課金、権限変更、公開はrestrictedの有無とは別に止めます。
どこまで確認済みで、何が未確認?
提供元が説明した新機能と、この環境で実際に動かした監査を分けます。`PRODUCTION VERIFIED`はrestricted mode本体ではなく、ローカル版判定の範囲だけです。
restricted modeで誤解しやすい3点
restrictedなら、知らないリポジトリを完全に安全に開ける?
完全安全とは言えません。Claude Code側の標準toolと設定範囲は減りますが、OS、コンテナ、機密情報、追加tool、MCP、依存ソフトの境界は別です。信頼できないコードは隔離環境で扱います。
permission modeのdontAskと同じ?
同じではありません。公式permission modesでは、dontAskは「許可ルールにないprompt対象を自動拒否する」モードです。restrictedはbuilt-in toolや設定・ファイル範囲そのものを起動時に減らします。
今すぐこのMacを更新すべき?
この検証では更新していません。現在2.1.201であるため、まず既存設定とworkflowを記録し、戻せる検証環境で2.1.248以降のtool一覧と拒否挙動を確認します。
AI情報を、公式資料と実機に分けて確かめる
Releaseの説明をそのまま体験談にせず、版、条件、権限、実行結果を分けて記事にする確認手順を公開しています。
確認に使った一次情報
AIエージェントが公式Releaseと公式Docsの収集・照合、記事構成、ローカル監査、サイト実装、QAを担当しました。Claude Codeの更新、2.1.248セッション、MCP接続、外部公開は行っていません。更新と本番導入の判断は人間に残しています。