ハブネコのAIラボ

Claude Code

Claude Codeの制限モード(--restricted)とは|共有マシンで安全に動かす新機能

公開: 読了目安7分

#制限モード#共有マシン #セキュリティ

Claude Codeの制限モード(--restricted)とは|共有マシンで安全に動かす新機能

先に結論: --restrictedは評価ハーネスなどが共有マシンでClaude Codeを動かす際に、コマンド実行系ツールとWebFetchを除去し、そのマシンのユーザー・プロジェクト設定も読ませずに安全へ隔離して実行するv2.1.248以降の起動フラグです。

Claude Codeを自分の管理外のマシン、たとえば共有の評価環境や一時的に借りたマシンで動かしたいことがあります。

そのまま起動すると、そのマシンに保存された設定やコマンド実行権限までClaude Codeに渡ってしまいます。

本記事では2026年8月時点の公式ドキュメント(code.claude.com/docs)に基づき、この課題に対応する新フラグ--restricted(制限モード)の制限内容と使い方、似た機能である--safe-modeとの違いを整理します。

この記事の要点

  • --restrictedはClaude Code v2.1.248以降で使える起動フラグで、claude --restricted -p "query"のように指定します。
  • コマンド・コード実行系の組み込みツールとWebFetchが除去され、--toolsで個別に名指しした場合のみ再有効化できます(defaultプリセット経由では不可)。
  • 設定はmanaged settingsと--settingsだけが読み込まれ、そのマシンのユーザー・プロジェクトのsettings.jsonは無視されます。
  • bypassPermissionsモードの指定とクラウドセッションの作成は、--restricted下では拒否されます。
  • 似た名前の--safe-modeはCLAUDE.md・skills・hooksなどカスタマイズを丸ごと無効化するトラブルシュート用フラグで、目的が異なります。

前提・動作環境

この記事はターミナル版のClaude Code v2.1.248以降を前提にしています。

--restrictedはそれより古いバージョンでは使えないため、まず手元のバージョンを確認してください。

claude --version
2.1.248 (Claude Code)

npm版・WinGet版は自動更新の対象外です。表示されたバージョンが古い場合は、先にアップデート方法の手順で最新化してください。

—restrictedとは何か: 制限される範囲

--restrictedは、評価ハーネスが共有マシン上でclaudeを駆動するような場面向けの起動フラグです。

「コマンドを実行させたくない」「そのマシンのユーザー・プロジェクト設定を読ませたくない」という2つの要求に応えるために、通常起動と比べて次の6点が変わります。

項目通常のClaude Code--restricted起動時
コマンド・コード実行系の組み込みツール利用可能除去(--toolsで個別に名指しした場合のみ再有効化可)
WebFetch利用可能除去(同上)
組み込みファイルツールの範囲設定次第で作業ディレクトリ外も参照可working directories内に限定
読み込む設定ユーザー設定・プロジェクト設定・managed settingsmanaged settingsと--settingsのみ
bypassPermissionsモード選択可能拒否される
クラウドセッションの作成可能拒否される

ファイルの読み書き自体は禁止されるわけではなく、作業ディレクトリ内に閉じ込められる点がポイントです。

除去されるのはコマンド・コード実行系のツールとWebFetchで、ファイル編集や検索のような組み込みツールは範囲を絞ったうえで引き続き使えます。

どんな場面で使うか

公式ドキュメントが想定する典型例は、評価ハーネス(ベンチマークやテストの自動実行基盤)が共有マシン上でclaudeを繰り返し起動するケースです。

このほか、次のような場面でも安全側に倒す選択肢になります。

普段の自分専用マシンでの開発作業では、後述する通常のpermissions設定やSandboxの方が使い勝手がよい場面が多いです。

使い方: 起動方法と—toolsでの個別許可

基本の起動方法は、-p(print mode)と組み合わせてワンショットで実行する形です。

claude --restricted -p "query"

除去されたコマンド実行系ツールやWebFetchをどうしても使いたい場合は、--toolsフラグでツール名を個別に指定すると再有効化できます。

--toolsdefaultのようなプリセット名を渡しても、--restricted下のツール除去は解除されません

必ずBashのような個別のツール名で指定する必要があり、正確な指定方法は公式ドキュメントで確認してください。

—safe-mode・通常の権限設定・Sandboxとの違い

Claude Codeには名前が紛らわしい--safe-modeという別フラグもあります。

こちらは「設定が壊れた時の切り分け」が目的で、CLAUDE.md・skills・プラグイン・hooks・MCPサーバー・カスタムコマンドやエージェント・出力スタイル・ワークフロー・カスタムテーマ・カスタムキーバインド・ステータスラインやファイル候補コマンド・LSPサーバー・auto memoryを丸ごと無効化して起動します。

一方で認証・モデル選択・組み込みツール・権限まわりは通常通り動作し、モデルが自動フォールバックする原因がカスタマイズ側にあるかどうかを切り分ける用途などで使います。

managed settingsのポリシーは--safe-modeでも適用され続けますが、managed pluginsやmanaged skills、managed CLAUDE.mdは読み込まれません。

つまり--restrictedが「安全な隔離実行」、--safe-modeが「カスタマイズの切り分け」という目的の違いがあります。

普段の権限管理や自動実行のチューニングには、この2つのフラグよりも権限設定(permissions)Sandboxsettings.jsonの使い分けの方が日常的な選択肢です。

項目--restricted--safe-mode通常のpermissions設定Sandbox
目的評価ハーネス等での安全な隔離実行設定崩れのトラブルシュート実行前の確認プロンプト調整OSレベルでコマンドの到達範囲を制限
無効化・除去される対象コマンド実行系ツール・WebFetch・ユーザー/プロジェクト設定CLAUDE.md・skills・plugins・hooks・MCP・カスタムコマンド等なし(確認要否の調整のみ)なし(触れる範囲を制限するだけ)
認証・モデル選択通常通り通常通り通常通り通常通り
主な利用シーン共有マシン・評価環境動作がおかしい時の切り分け日常のセキュリティ調整確認なしでの自動実行

つまずきポイント/よくあるエラー

バグイヌバグイヌ

--restrictedで起動したあと--tools defaultって書けばBashが戻ると思ったのに、コマンド実行がずっと使えないままです…ぼくの書き方、間違ってますか?

ハブネコハブネコ

間違っていませんが、仕様上`default`というプリセット名を渡しても解除されないのです。`Bash`のように個別のツール名を`--tools`へ指定してください。

よくある質問

—restrictedと—safe-modeはどちらを使えばいいですか?

共有マシンでの安全な隔離実行が目的なら--restricted、CLAUDE.mdやhooksなどのカスタマイズが原因で動作がおかしいときの切り分けが目的なら--safe-modeを使います。名前は似ていますが目的が異なるフラグです。

—restricted中でもファイル編集はできますか?

はい、できます。除去されるのはコマンド・コード実行系のツールとWebFetchで、組み込みのファイルツールは作業ディレクトリ(working directories)内に範囲を絞ったうえで引き続き使えます。

v2.1.248より前のバージョンでも—restrictedは使えますか?

使えません。--restrictedはClaude Code v2.1.248以降でのみ利用できるフラグなので、claude --versionで手元のバージョンを確認し、古い場合はアップデートしてください。

まとめ

--restrictedは、評価ハーネスなどが共有マシンでClaude Codeを駆動する場面向けに、コマンド実行系ツールとWebFetchの除去・設定の非読み込み・bypassPermissionsとクラウドセッション作成の拒否をまとめて行うv2.1.248以降の起動フラグです。

除去されたツールは--toolsで個別のツール名を指定すれば再有効化できますが、defaultプリセット経由では解除できない点に注意してください。

似た名前の--safe-modeは目的が異なり、カスタマイズを丸ごと無効化して設定崩れを切り分けるためのフラグです。

日常の権限管理には権限設定(permissions)Sandboxsettings.jsonの使い分けもあわせてご覧ください。

Claude Code全体の使い方は「Claude Codeの使い方完全ガイド」、2026年8月の他のアップデートは「Claude Code最新アップデートまとめ【2026年8月】」で確認できます。