~/.claude.json に保持する短いキーグループを一覧表示しています。ファイルを選択するか、優先順位を確認するには、設定ファイルと優先順位から始めてください。
設定インデックス
以下の各キーは、それぞれの項目にリンクしています。Scope 列には、そのキーを記述できるファイルが示されています。User は ~/.claude/settings.json、Project は .claude/settings.json、Local は .claude/settings.local.json、Managed は組織がデプロイするものです。Any file はこの 4 つすべてを意味し、Global config は ~/.claude.json を意味します。
モデルと応答
Claude Code が使用するモデルと、その応答のしかたを選択します。これらの設定が/model コマンドや環境変数とどのように相互作用するかについては、モデル設定を参照してください。
advisorModel
Claude がサーバー側の advisor ツールを呼び出したときに応答するモデルを選択します。設定を解除すると advisor はオフになります。advisor はメインモデルと同等以上の能力を持つ必要があります。受け入れられる組み合わせと、受け入れられない組み合わせを選択した場合の動作については、advisor モデルを選択するを参照してください。
通常、このキーを手動で編集することはありません。/advisor を実行すると、現在の選択、advisor として使用できるモデル、および No advisor を表示するピッカーが開きます。Claude Code は選択内容を ~/.claude/settings.json のこのキーに保存します。Remote Control クライアントから選択した場合や、リモートワーカーに接続されたセッションで選択した場合、その選択はそのセッションにのみ適用され、このキーは変更されません。
アカウントで使用クレジットへの同意が必要な場合は、まず /model fable を実行して同意してください。同意するまでは、/advisor で Fable を選択しても何も保存されず、Claude Code は先に /model fable を実行するよう案内します。
- スコープ:
Any file - 型: 文字列。エイリアス
"fable"、"opus"、"sonnet"のいずれか(Claude Code におけるそのモデルファミリーの現在のデフォルトバージョンに解決されます)、または"claude-opus-5-5"のような完全なモデル ID - デフォルト: 未設定。advisor はオフです
- セッションごとの上書き:
--advisorは、1 つのセッションに限りこのキーよりも優先されます。CLAUDE_CODE_DISABLE_ADVISOR_TOOLは advisor をオフにし、このキーで再びオンにすることはできません
settings.json
"fable" には Fable へのアクセスが必要です。
alwaysThinkingEnabled
これを false に設定すると、すべてのセッションで拡張思考がオフになります。思考はデフォルトでオンのため、true にしても何も変わりません。ほとんどのユーザーは、ファイルを編集するのではなく /config からこれを設定します。
Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルなど、常に思考するモデルでは false は効果がありません。サードパーティプロバイダーでは、Claude Code は思考をオフにする代わりに thinking パラメータを省略するため、適応型推論モデルは引き続き思考する場合があります。Anthropic API で思考をオフにした場合、Claude Code は、Opus 5 などその組み合わせを受け付けないことが分かっているモデルに対して、より高いレベルではなく effort high を送信します。
- スコープ:
Any file - 型: Boolean
true: 効果なし。思考はすでにオンですfalse: Claude Code はすべてのセッションで拡張思考をオフにします
- デフォルト: 未設定。思考をサポートするモデルでは思考がオンになります
- セッションごとの上書き:
MAX_THINKING_TOKENSは、1 つのセッションに限りこのキーよりも優先されます。0はfalseと同じモデルおよびプロバイダーの制限のもとで思考をオフにし、正の値はこのキーがfalseの場合でも思考をオンにします。適応型推論モデルでは、数値そのものは無視されます
settings.json
availableModels
メインセッション、サブエージェント、スキル、advisor でユーザーが選択できるモデルを制限します。管理されたリストは、/model、--model、および開発者自身のファイル内の model キーを制約し、リスト外のモデルは選択できません。デフォルトのプレフィックス一致では、これだけでは Default オプションには影響しません。Default オプションも制限するには、enforceAvailableModels と組み合わせてください。
- スコープ:
Any file。組織全体に適用するには、管理設定でデプロイします。 - 型: モデルのエイリアスまたは ID の配列
- デフォルト: 未設定。すべてのモデルが利用可能です
settings.json
"claude-opus-5" のようなモデル ID のエントリは、Opus 5.5 など、それを拡張する後続のバージョンも許可します。それらのバージョンのいずれかをブロックするには、deniedModels を使用します。各モデル ID のエントリが指定したバージョンのみを許可するようにするには、availableModelsMatch を使用します。モデル選択を制限するを参照してください。サードパーティプロバイダーの ID については、サードパーティデプロイ向けにモデルを固定するを参照してください。
availableModelsMatch
availableModels のエントリをモデル ID とどのように照合するかを選択します。デフォルトでは、モデル ID のエントリはそれを拡張する後続のバージョンも許可するため、"claude-opus-5" は Opus 5.5 を許可します。"exact" を指定すると、各モデル ID のエントリは指定したバージョンのみを許可するため、そのモデルの新しいバージョンは、リストに追加するまでブロックされたままになります。Claude Code v2.1.283 以降が必要です。
- スコープ:
Managed。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、および--settings内のこのキーを警告付きで無視します - 型: 文字列。次のいずれか:
"prefix": モデル ID のエントリは、そのバージョンと、別のセグメントでそれを拡張するすべてのモデル ID を許可します"exact": モデル ID のエントリは指定したバージョンのみを許可するため、"claude-opus-5"は Opus 5 を許可しますが、claude-opus-5-5は許可しません。"claude-opus-4-5"のようなエントリは、日付付きの Anthropic モデル IDclaude-opus-4-5-20251101も許可します。"opus"のようなファミリーエイリアスは引き続きファミリー全体を許可し、best、opusplan、defaultのエントリは無視されます
- デフォルト:
"prefix"
managed-settings.json
"exact" を指定した場合、リストに少なくとも 1 つのモデルまたはファミリーが指定されていれば、Default オプションもリスト内のモデルに制限されます。特定のモデルまたはバージョンをブロックするを参照してください。
deniedModels
availableModels 許可リストの有無にかかわらず、またそのリストで許可されている場合でも、特定のモデルをブロックします。Claude Code はブロックされたモデルを /model ピッカーに表示せず、availableModels が適用されるあらゆる場所でそのモデルを選択できなくなります。特定のモデルまたはバージョンをブロックするで説明しているとおり、Default オプションのセッションでもブロックされたモデルは実行されません。Claude Code v2.1.283 以降が必要です。
- スコープ:
Managed。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、および--settings内のこのキーを警告付きで無視します - 型: モデルのエイリアスまたは ID の配列
"opus"のようなファミリーエイリアスは、そのファミリーのすべてのモデルをブロックします"claude-opus-5-5"のようなモデル ID は、日付付き ID やプロバイダー固有の ID を含む、あらゆる表記のそのバージョンをブロックします"claude-opus-5"のようにマイナーバージョンのないモデル ID は、Opus 5.5 など後続のマイナーバージョンもブロックします。Opus 5 のみをブロックするには"claude-opus-5-0"と記述しますbest、opusplan、defaultのエントリは無視されます
- デフォルト: 未設定。ブロックされるモデルはありません
managed-settings.json
effortLevel
レベルを保存していないモデルに対して、デフォルトの effort レベルを設定します。低いレベルは単純なタスクでより高速かつ低コストになり、高いレベルは複雑な問題に対してより深く推論します。
自分のマシン上の対話セッションで /effort low、medium、high、xhigh を実行すると、Claude Code はこのキーに書き込むのではなく、アクティブなモデルのレベルを modelSettings の下に保存します。v2.1.251 より前は、/effort はこのキーに書き込んでいました。
同じ設定ファイル内では、Claude Code はこのキーよりもモデルごとに保存されたレベルを使用します。ファイル間の優先順位については modelSettings に記載しています。
リモートワーカーに接続されたセッション、-p の実行、および Agent SDK では、/effort はそのセッションにのみ適用されます。同様にそのセッションにのみ適用される対話的な選択については、effort レベルを調整するに記載しています。/effort が出力するメッセージに、どちらになったかが示されます。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"low": 推論が最も少なく、知能をあまり必要としない、短く範囲の限られたレイテンシー重視のタスク向け"medium": ある程度の知能と引き換えにできる、コスト重視の作業でトークン使用量を削減します"high": トークン使用量と知能のバランスを取ります"xhigh": より多くのトークンを消費して、より深く推論します
- デフォルト: 未設定
- セッションごとの上書き:
--effortは 1 つのセッションに限りこのキーよりも優先され、CLAUDE_CODE_EFFORT_LEVELはその両方よりも優先されます
settings.json
~/.claude/settings.json では、このキーは /effort がモデルごとにレベルを保存するようになる前に書き込んでいた古い形式であり、以前と同じ範囲、つまり Opus 5、Fable 5.1、およびそれ以前のモデルに引き続き適用されます。Opus 5.5 とそれ以降にリリースされたモデルはこのキーを無視し、レベルを保存するまでは独自のデフォルトで開始します。レベルは /effort によって modelSettings の下に書き込まれます。プロジェクト設定、ローカル設定、管理設定、および --settings では、このキーはすべてのモデルに適用されます。
enforceAvailableModels
/model ピッカーには Default オプションがあり、それが解決されるモデルについては default モデル設定で説明しています。availableModels 許可リストは指定できるモデルを制限しますが、デフォルトのプレフィックス一致ではアカウントタイプのデフォルトを再マッピングしないため、Default がリスト外のモデルに解決される場合があります。このキーはそのギャップを埋めます。Claude Code v2.1.175 以降が必要です。
組織が何らかの管理設定をデプロイしている場合、Claude Code はこのキーを管理ソースからのみ読み取り、他のファイル内のこのキーは無視します。
起動時のモデルチェックにこのキーがどのように適用されるかについては、Amazon Bedrock および Google Cloud’s Agent Platform を参照してください。
- スコープ:
Any file - 型: Boolean
true: Default がavailableModels外のモデルに解決される場合、Claude Code はそれをリスト内で最初に利用可能なモデルに解決しますfalse: このキーは Default の解決方法を変更しません
- デフォルト:
false
settings.json
availableModels が未設定または空の場合、このキーは効果がありません。Default モデルに許可リストを適用するを参照してください。Claude Code v2.1.175 以降が必要です。
fallbackModel
プライマリモデルが過負荷または利用できない場合に Claude Code が順番に試すバックアップモデルを指定します。Claude Code はそのターンの残りの間、チェーン内で次に利用可能なモデルに切り替え、通知を表示します。チェーンがない場合、Claude Code は同じモデルで再試行した後にサーバーのエラーを表示し、ユーザーが自分で再試行するかモデルを切り替えることになります。
切り替えが発生すると、フォールバックモデルでは 1 ターンの間プロンプトキャッシュがコールドの状態になります。次のメッセージでは再びプライマリモデルが最初に試されます。
- スコープ:
Any file - 型: モデルのエイリアスまたは ID の配列。
"default"はデフォルトモデルに展開されます - デフォルト: 未設定。失敗したリクエストは別のモデルで再試行されません
- セッションごとの上書き:
--fallback-modelは、1 つのセッションに限りこのキーよりも優先されます
settings.json
["claude-sonnet-5"] を設定し、ユーザーファイルで ["claude-haiku-4-5"] を設定した場合、チェーンは ["claude-sonnet-5"] のみになります。Claude Code はリストから最大 3 つの異なる許可されたモデルを保持し、残りは無視します。フォールバックモデルチェーンを参照してください。
fastMode
利用可能なセッションで fast mode をオンにします。トークンあたりのコストが高くても速度を優先したい、迅速な反復作業やライブデバッグなどの対話的な作業向けです。通常、このキーを手動で編集することはありません。/fast を実行すると ~/.claude/settings.json に fastMode: true が書き込まれ、もう一度実行して fast mode をオフにするとキーが削除されます。fast mode は Opus 5.5、Opus 5、Opus 4.8 でのみ動作します。他のモデルからオンにすると Opus に切り替わり、サポートされていないモデルに切り替えるとオフになります。fast mode がオンの状態でモデルを切り替えるを参照してください。
- スコープ:
Any file - 型: Boolean
true: Claude Code は、利用可能なセッションで fast mode をオンにしますfalse: fast mode はオフのままです
- デフォルト: 未設定。fast mode はオフです
- セッションごとの上書き:
CLAUDE_CODE_DISABLE_FAST_MODEは 1 つのセッションに限り fast mode をオフにし、このキーで再びオンにすることはできません
settings.json
fastModePerSessionOptIn
通常、/fast を実行すると fastMode がユーザー設定に保存されるため、以降のすべてのセッションの開始時に fast mode がオンになります。このキーを true に設定するとこれを止められます。保存された fastMode: true はセッション開始時に fast mode をオンにしなくなり、各ユーザーは fast mode を使いたいセッションごとに /fast を実行する必要があります。Claude Code はユーザーのファイル内の fastMode キーを残すため、このキーをオフにすると以前の動作に戻ります。
Team プランまたは Enterprise プランのオーナーは、サーバー管理設定を通じて組織全体にデプロイできます。管理設定でこのキーが設定されている場合、対話型ターミナルセッション以外では /fast on が拒否され、組織によって fast mode が無効化されていることが通知されます。これには、非対話モード、VS Code 拡張機能、クラウドセッションが含まれます。
- スコープ:
Any file - 型: Boolean
true: 保存されたfastMode: trueはセッション開始時に fast mode をオンにしなくなるため、各ユーザーは fast mode を使いたいセッションごとに/fastを実行します。--settingsで渡されたfastMode: trueは、管理設定でこのキーが設定されていない限り、そのセッションでは引き続き有効ですfalse: 保存されたfastMode: trueは、以降のすべてのセッションの開始時に fast mode をオンにします
- デフォルト:
false
settings.json
language
Claude がデフォルトで英語以外の言語で応答するようにします。応答に使える言語の固定リストはありません。Claude Code はこの値を、常にその言語で応答するという指示としてそのまま Claude に渡すため、Claude が読み取れる言語名であれば何でも機能します。Claude Code は値をチェックしないため、スペルを誤った名前はエラーにならず、記述したとおりに Claude に渡されます。同じ値は、音声入力(こちらにはサポートされている音声入力言語の固定リストがあります)と、自動生成されるセッションタイトルの言語も設定します。
- スコープ:
Any file - 型: 文字列。
"japanese"、"spanish"、"french"など任意の言語名。Claude Code は検証しません - デフォルト: 未設定。その場合、セッションタイトルは会話の言語に合わせられます
settings.json
maxEffortLevel
セッションで使用できる effort レベルに上限を設け、それより低いレベルは使用可能なままにします。それより高いレベルは、/effort、/model ピッカー、--effort、CLAUDE_CODE_EFFORT_LEVEL、スキルやサブエージェントの effort フロントマター、またはモデル自体のデフォルトから指定されたものを含め、すべて上限のレベルで実行されます。Claude Code は各リクエストの前に自ら上限を適用するため、Amazon Bedrock、Google Cloud’s Agent Platform、Microsoft Foundry を含むすべてのプロバイダーで上限が維持されます。Claude Code v2.1.267 以降が必要です。
- スコープ:
Any file。組織全体に適用するには、管理設定でデプロイします。複数のスコープで上限が設定されている場合は最も低いものが適用されるため、あるスコープで設定された上限を別のスコープから引き上げることはできません - 型: 文字列。
"low"、"medium"、"high"、"xhigh"、"max"のいずれか。"max"を指定すると上限は設定されません - デフォルト: 未設定。上限は適用されません
- モデルごとの上限: モデルの
modelSettingsエントリにmaxEffortLevelを追加します。そのエントリは、ユーザー設定や 1 つの管理ソースなど、両方を設定している設定ソース内に限り、そのモデルについてこのキーを置き換えます。そこで"max"を設定すると、そのモデルをそのソースの上限から除外できます。ただし、Claude Code は他のソースからの上限を引き続き適用します
medium に設定し、Sonnet 4.6 を除外します。
settings.json
model
新しいセッションごとに使用するモデルを設定し、毎回 /model で選択しなくて済むようにします。ここで設定しても、セッションの途中で切り替えることはできます。管理者がユーザーの選択を上書きする組織のデフォルトモデルを設定している場合は、ユーザー設定、プロジェクト設定、ローカル設定でこのキーを設定していても、そのモデルが使用されます。
- スコープ:
Any file - 型: 文字列。モデルのエイリアスまたは完全なモデル ID
- デフォルト: 未設定。Claude Code はアカウントのデフォルトモデルを使用します
- セッションごとの上書き:
--modelはANTHROPIC_MODELよりも優先され、どちらも 1 つのセッションに限り、管理されたmodelを含めてこのキーよりも優先されます。ただし、availableModelsリストは引き続き選択に適用されます
settings.json
ANTHROPIC_DEFAULT_MODEL よりも優先されます。Claude Code が ANTHROPIC_DEFAULT_MODEL を使用するのは、他に何もモデルを選択していない場合のみです。
modelOverrides
Anthropic のモデル ID を、Amazon Bedrock の推論プロファイル ARN などのプロバイダー固有のモデル ID にマッピングします。これにより、モデルピッカーの各エントリは、プロバイダー API を呼び出す際にマッピングされた値を使用します。管理者は Amazon Bedrock、Google Cloud’s Agent Platform、Microsoft Foundry でこれを使用して、ガバナンス、コスト配分、リージョンルーティングのために、各モデルバージョンを特定の推論プロファイル、バージョン名、またはデプロイにルーティングします。
- スコープ:
Any file - 型: モデル ID をプロバイダーのモデル ID にマッピングするオブジェクト
- デフォルト: 未設定
settings.json
modelPicker
/model ピッカーに表示するモデルを、記述した順序と選択したラベルで一覧にします。これにより、ピッカーには組織で実行しているモデルが、組み込みのラインナップの後に、またはその代わりに表示されます。各行の model はそのまま使用されるため、--model が受け付けるものは何でも指定できます。opus のようなエイリアス、Anthropic のモデル ID、または Amazon Bedrock、Google Cloud’s Agent Platform、Microsoft Foundry、LLM ゲートウェイ向けのプロバイダー形式の ID です。Claude Code v2.1.242 以降が必要です。
- スコープ:
User or managed。Claude Code はこのキーを管理設定、--settings、ユーザー設定から読み取り、プロジェクト設定とローカル設定では無視します。これにより、クローンしたリポジトリがピッカーのラベルを変更することはできません。これら 3 つのうちこのキーを設定している最も優先順位の高いものがラインナップ全体を提供し、Claude Code が 2 つのソースのラインナップを組み合わせることはありません。 - 型: 行の配列である
optionsと、省略可能な Boolean のreplaceBuiltInOptionsを持つオブジェクト - デフォルト: 未設定。ピッカーには組み込みのラインナップが表示されます
managed-settings.json
modelPicker のフィールド
このキーは 2 つのフィールドを受け取ります。1 つは行そのもの用、もう 1 つはそれらの行が組み込みのラインナップを置き換えるか、追加されるかを指定するものです。
options 内のエントリには、model と並んで省略可能な behavesAs 文字列を含めることもでき、これには v2.1.257 以降が必要です。model が使用中のバージョンより新しいエントリに対して、claude-opus-4-8 など、使用中の Claude Code バージョンがすでに認識しているモデルの ID を設定します。すると Claude Code は、そのモデルを不明なモデルとして扱う代わりに、既知のモデルの機能と effort のデフォルトをそのエントリに適用します。エントリのラベルと、Claude Code がリクエストで送信するモデル ID は変わりません。
replaceBuiltInOptions がオンの場合、Claude Code は他のすべての行を非表示にします。対象は、組み込みのラインナップ、availableModels のエントリに対して追加される行、ゲートウェイ検出で見つかったモデル、および ANTHROPIC_CUSTOM_MODEL_OPTION です。オフの場合、Claude Code は組み込みのラインナップですでにカバーされているリスト内のモデルをスキップします。ラベルはピッカーの表示を変えるだけで、Claude Code が実行するモデルは変わりません。
availableModels 許可リストは、これらの行にも引き続き適用されます。リスト内のモデルを許可リストに追加する前に、マージの動作を読んでください。特定のモデル ID は、そのファミリーのワイルドカードエントリを絞り込みます。Claude Code は、ピッカーを表示する前に各行をセッションに照らしてチェックすることも行います。
- 削除: 廃止されたモデルや組織がアクセスできないモデルなど、Claude Code が提供できない行
- グレーアウト: まだ選択できない行。理由とともに表示されます
- 残る行がない場合: Claude Code は組み込みのラインナップを保持し、通常どおり許可リストで絞り込みます
modelPricing
表示価格ではなく、組織が実際に支払っている料金で支出を報告します。組織に契約料金がある場合に設定すると、開発者が目にする金額が請求額と一致するようになります。Claude Code はこの料金を、/usage、ステータスライン、Agent SDK の total_cost_usd、--max-budget-usd の上限、および OpenTelemetry のコストメトリクスとイベントに適用します。料金はユーザーが指定します。Claude Code が契約や Claude Console から料金を読み取ることはありません。Claude Code v2.1.242 以降が必要です。
- スコープ:
Managed。このキーは、サーバー管理設定、MDM ポリシー、managed-settings.jsonファイル、またはポリシーヘルパーを通じてデプロイします。Claude Code は、ユーザー設定、プロジェクト設定、ローカル設定、--settings、および Windows ではユーザーが書き込み可能な HKCU レジストリ内のこのキーを無視します。サーバー管理設定を使用する場合、各セッションは、そのセッションの設定の取得で設定が確認されるまで、表示価格でコストを報告します。Claude Code を組み込み、CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTを設定しているホストアプリケーションは、SDK のmanagedSettingsオプションを通じて独自の料金表を提供できます。Claude Code がこれを使用するのは、どの管理ソースもこのキーを設定していない場合のみで、Claude Code v2.1.246 以降に限られます。 - 型: 省略可能な
multiplierと省略可能なoverridesマップを持つオブジェクト - デフォルト: 未設定。ホストアプリケーションが料金表を提供しない限り、Claude Code は表示価格で報告します
multiplier のみを、モデルごとの料金には overrides のみを設定するか、両方を設定します。
この例では、Sonnet 4.6 の契約料金を設定したうえで、Sonnet の行を含むすべての金額を 15% 引き下げます。
managed-settings.json
multiplier を 1 より大きく 10 以下の値に設定します。上乗せには Claude Code v2.1.271 以降が必要です。それより前のバージョンでは、1 より大きい multiplier は警告付きで無視され、設定の残りは保持されます。
料金が有効になっていることを確認する方法を含む手順については、契約料金で支出を報告するを参照してください。
modelPricing のフィールド
Claude Code は、fast mode の追加料金や米国内のみでの推論の料金を加算せず、行の料金を記述したとおりに使用します。
multiplier も設定している場合、Claude Code はそれを行の料金に重ねて適用します。Claude Code は、解析できない料金を持つ行や、解析できない multiplier を削除し、残りを保持します。壊れた設定ファイルを修正するを参照してください。
modelPricing の行が適用されるモデル
Claude Code は、行のキーからその行がどのモデルに適用されるかを判断します。
- 組み込みモデルの ID: Claude Code 自身が組み込みモデルに使用するキーで、
claude-sonnet-4-6のようなモデル自体の ID であるか、Bedrock、Agent Platform、Foundry の ID であるかは問いません。Claude Code は、そのモデルのすべての日付付きスナップショット ID とプロバイダー固有の ID にその行を適用します。 - その他のキー: ゲートウェイのモデルエイリアスなど、組み込みモデルの ID ではないキー。Claude Code はその 1 つの ID にのみ行を適用します。モデル ID がいずれかのキーに完全に一致し、かつ組み込みモデルの ID をキーとする行にも該当する場合、Claude Code は完全一致を使用します。
- Bedrock のアプリケーション推論プロファイル: Claude Code が
modelOverridesマップまたはbedrock:GetInferenceProfileによる検索を通じて、プロファイルをルーティング先のモデルに解決すると、Claude Code はそのモデルの行をプロファイルに適用します。
modelSettings
使用するモデルごとに effort レベルを保存します。Claude Code v2.1.251 以降が必要です。
自分のマシン上の対話セッションで、/effort または /model ピッカーの effort スライダーを使って low、medium、high、xhigh をデフォルトとして保存すると、Claude Code は使用中のモデルの下にそのレベルをここに書き込むため、このキーを自分で編集することはほとんどありません。VS Code 拡張機能のモデルピッカーでこれらのレベルのいずれかを選択した場合も、Claude Code は同じようにここに保存します。/effort がそのセッションにのみ適用されるセッションについては、effortLevel のエントリに記載しています。
保存したレベルを変更または削除するには、このキーを手動で編集します。
ここでのモデルの effortLevel は、同じ設定ファイル内のトップレベルの effortLevel よりも優先されます。ファイル間では、Claude Code はモデルごとに個別に解決します。そのモデルの effortLevel、またはそのモデルに適用されるトップレベルの effortLevel のいずれかを設定している、最も優先順位の高い設定ファイルが決定するため、管理設定の effortLevel はユーザー設定に保存したレベルよりも優先されます。起動時の --effort など、保存されたレベルを上書きできるその他の要素については、effort レベルを調整するに記載しています。
1 つのモデルのレベルを設定するのではなく effort に上限を設けるには、そのモデルのエントリに maxEffortLevel フィールドを追加します。このフィールドには Claude Code v2.1.267 以降が必要です。
- スコープ:
Any file - 型: モデル名を、次のいずれかのフィールドを持つオブジェクトにマッピングするオブジェクト:
effortLevel:"low"、"medium"、"high"、"xhigh"のいずれかmaxEffortLevel: モデルが実行できる最も高い effort レベルautoCompactWindow:100000から1000000までのトークン数、またはモデル向けに調整されたウィンドウを表す"auto"。/autocompactはここに保存します。そのモデルについては、この値が同じ設定ファイル内のトップレベルのautoCompactWindowよりも優先されます。Claude Code v2.1.288 以降が必要です
- デフォルト: 未設定
claude-opus-5-5 のようなモデルの正規名の下に書き込み、そのモデルのエイリアス、日付サフィックス付き、[1m]、および認識されたプロバイダー固有の ID を同じエントリに照合します。
この例では、他のモデルがそれぞれ保存済みまたはデフォルトのレベルを使用する一方で、Opus 5.5 を high に保ちます。
settings.json
/effort auto を実行します。Claude Code は、他のエントリとトップレベルの effortLevel をそのまま残します。
outputStyle
名前で出力スタイルを選択します。出力スタイルとは、Claude の役割、トーン、出力形式を変更する指示の保存済みセットで、組み込みの Explanatory スタイルや Learning スタイル、または自分で作成したスタイルなどがあります。
セッション中にこのキーを変更すると、Claude は次のメッセージから新しいスタイルを使用します。そのメッセージのプロンプトキャッシュにおけるコストについては、出力スタイルの変更を参照してください。v2.1.251 より前は、変更は /clear を実行するか新しいセッションを開始した後にのみ適用されていました。
この例では、タスクの合間に教育的な解説を追加する組み込みの Explanatory スタイルを選択します。
settings.json
promptCacheTtl
プロンプトキャッシュがメインの会話を保持する期間を選択します。このキーは、対話、-p、および Agent SDK のターンと、それらとインラインで Claude Code が実行するヘルパーに適用されます。1 時間の有効期間では、長めの休憩をはさんでもキャッシュがウォームな状態に保たれますが、API は 5 分の有効期間よりも高い料金で各キャッシュ書き込みを請求します。Claude Code v2.1.242 以降が必要です。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"5m": キャッシュは 5 分間保持されます"1h": キャッシュは 1 時間保持されます
- デフォルト: 未設定。メインの会話の各リクエストにはデフォルトの有効期間が適用されます
- セッションごとの上書き:
FORCE_PROMPT_CACHING_5Mが他のすべてよりも優先され、次にCLAUDE_CODE_PROMPT_CACHE_TTL、次にこのキー、最後にENABLE_PROMPT_CACHING_1Hの順になります
settings.json
showThinkingSummaries
対話セッションで Claude の拡張思考の要約を表示します。Ctrl+O で思考を展開したときに完全な要約を表示したい場合に設定します。未設定または false の場合、Anthropic API は思考ブロックを編集済み(非表示)にし、Claude Code は折りたたまれたスタブを表示します。
- スコープ:
Any file - 型: Boolean
true:Ctrl+Oで思考を展開すると、完全な思考の要約が表示されますfalse: Anthropic API は思考ブロックを編集済み(非表示)にし、Claude Code は折りたたまれたスタブを表示します
- デフォルト:
false
settings.json
subagentPromptCacheTtl
Claude Code がメインの会話の外で行うリクエストをプロンプトキャッシュが保持する期間を選択します。このキーは、サブエージェント、ワークフロー、およびコンテキスト圧縮やセッションタイトルなど、Claude Code 自身のバックグラウンドリクエストとヘルパーリクエストに適用されます。1 時間の有効期間では、長めの休憩をはさんでもキャッシュがウォームな状態に保たれますが、API は 5 分の有効期間よりも高い料金で各キャッシュ書き込みを請求します。Claude Code v2.1.242 以降が必要です。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"5m": キャッシュは 5 分間保持されます"1h": キャッシュは 1 時間保持されます
- デフォルト: 未設定。これらの各リクエストにはデフォルトの有効期間が適用されます
- セッションごとの上書き:
FORCE_PROMPT_CACHING_5Mが他のすべてよりも優先され、次にCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL、次にこのキー、次にすべてのリクエストに 1 時間の有効期間を求めるENABLE_PROMPT_CACHING_1Hの順になります。サブエージェント自身のフロントマターの値の優先順位については、TTL を自分で選択するを参照してください
settings.json
promptCacheTtl が対象としないリクエストをカバーするため、両方を設定すると Claude Code が行うすべてのリクエストの有効期間を選択できます。サブエージェントのキャッシュがメインの会話のキャッシュとどのように異なるかについては、サブエージェントとキャッシュを参照してください。
switchModelsOnFlag
安全性分類器がリクエストを警告したときの動作を選択します。フォールバックモデルに切り替えて続行するか、一時停止して切り替えるかプロンプトを編集するかを選べるようにするかのいずれかです。
- スコープ:
Any file。/configでは Switch models when a message is flagged として表示され、オプションは Switch automatically と Ask each time です。 - 型: Boolean
true: Claude Code はフォールバックモデルに切り替えて続行しますfalse: 対話セッションでは、Claude Code は一時停止し、切り替えるかプロンプトを編集するかを選べるようにします。-pの実行など、ダイアログを表示できない場合は、警告されたリクエストはエラーとして終了します
- デフォルト: 未設定。Claude Code は自動的に切り替えますが、対話セッションでは先に確認する場合があります
settings.json
ultracode
ultracode をオンにした状態でセッションを開始します。オンにすると、Claude はユーザーからの依頼を待たずに、実質的なタスクごとにワークフローを計画します。Claude がワークフローを計画するのは、ユーザーに対して動的ワークフローが有効で、かつモデルが xhigh の effort をサポートしている場合のみです。このキーはセッションの effort レベルを変更しません。ultracode はセッションが使用しているレベルで実行されます。Claude Code はこのキーを読み取りますが、書き込むことはありません。/effort ultracode は現在のセッションに限り ultracode をオンにします。
- スコープ:
Any file - 型: Boolean
true: ユーザーに対して動的ワークフローが有効で、かつモデルがxhighをサポートしている場合、セッションは ultracode がオンの状態で開始しますfalse: セッションは ultracode がオフの状態で開始します
- デフォルト: 未設定。ultracode はオフです
- セッションごとの上書き:
/effort ultracodeはこのキーなしで 1 つのセッションに限り ultracode をオンにし、/effort ultracode offはこのキーがtrueの場合に 1 つのセッションに限りオフにします。--effort ultracodeフラグも、1 つのセッションに限りxhighの effort で ultracode をオンにします
settings.json
effortLevel、modelSettings、およびその他の effort のソースから決まります。maxEffortLevel などの effort の上限は、ultracode をオフにすることなくそのレベルを引き下げます。この動作と /effort ultracode off の形式には Claude Code v2.1.284 以降が必要です。v2.1.284 より前は、ultracode: true はセッションを xhigh の effort で実行し、xhigh 未満の effort の上限があると ultracode はオフのままでした。Agent SDK の apply_flag_settings コントロールリクエストもこのキーを受け付けます。
権限設定
Claude が何を確認なしで実行できるか、セッションがどの権限モードで開始するか、auto モードの分類器が何を許可するかを決定します。ルール構文と権限モデルについては、権限を設定するを参照してください。allowManagedPermissionRulesOnly
管理設定を権限ルールの唯一の設定ソースにします。Claude Code はユーザー、プロジェクト、ローカル、および --settings ファイル内の allow、ask、deny ルールを無視し、--allowedTools を無視し、権限プロンプトで常に許可する選択肢を非表示にし、新しいルールの保存を停止します。
埋め込みホストからの親設定が適用される場合、Claude Code はそれらを管理層の一部として扱います。それらの allow ルールと additionalDirectories を削除し、deny および ask ルールは保持します。ただし、パターンが ! で始まる Read および Edit ルールは除きます。このキーを設定しているかどうかに関わらず、ホストは ! ルールで管理ルールからパスを除外することはできません。
--disallowedTools ルールと現在のセッションの deny および ask ルールは、Claude Code が設定をセッション中に再度読み込んだ後を含めて、引き続き適用されます。これらは制限のみを行うため、管理ルールが付与するものを拡大することはできません。v2.1.257 より前では、Claude Code は最初の設定再度読み込み時にそれらのコマンドラインおよびセッションルールを削除していました。
--disallowedTools またはセッションルール内の ! パターンが除外できるものについては、Read および Edit ルールを参照してください。
このキーを設定すると、Claude Code v2.1.282 以降では、次のソースにあるスキルおよび .claude/commands/ ファイルの allowed-tools フロントマターも無視されます。
- リポジトリの
.claude/ディレクトリ ~/.claude/skills/および~/.claude/commands/ディレクトリ(claude.ai から同期されたスキルを含む)--add-dirディレクトリ~/.claude/skills/またはプロジェクトの.claude/skills/内で.claude-pluginマニフェストにより宣言されたプラグイン- 1 つのセッションに対してのみ読み込まれ、ID が
@inlineで終わるプラグイン(次のすべてが満たされる場合)- セッションが、Claude Desktop アプリ自体が Claude Code を起動する Code セッションまたは Cowork セッションである(クラウドセッションを除く)
- 埋め込みホストの親設定だけでなく、管理設定がこのキーを設定している
- セッションが Claude Code v2.1.305 以降で実行されている
allowed-tools を保持します。これらの Desktop セッション外の @inline プラグインも、anthropic-skills という名前のものを除き、それを保持します。スキルの disallowed-tools は引き続き適用されます。Claude Code がこのフィールドを無視したときに開発者に何が表示されるかについては、管理権限ルールのみが適用される場合を参照してください。
- スコープ:
Managed - タイプ: ブール値
true: 管理設定が権限ルールの唯一の設定ソースになりますfalse: Claude Code は管理ルールに加えて、ユーザー、プロジェクト、ローカル、および--settingsファイルから権限ルールを適用します
- デフォルト: 未設定。Claude Code はユーザー、プロジェクト、ローカル設定、および
--settingsから権限ルールを管理ルールに加えて適用します
managed-settings.json
allowManagedMcpServersOnlyを設定してください。管理のみの設定を参照してください。
autoMode
auto モードの分類器がブロックおよび許可するものに独自のルールを追加します。これを使用して、分類器に組織が信頼するリポジトリ、バケット、ドメインを伝え、日常的な内部操作のブロックを停止させます。分類器には組み込みの許可および拒否ルールが付属しています。リテラル文字列 "$defaults" を配列に含めて、それらの組み込みルールをその位置に保持し、その周りに独自のルールを追加します。省略すると、それらを独自のルールに置き換えます。
- スコープ:
User or managed - タイプ:
environment、allow、soft_deny、hard_denyの散文ルール配列、およびclassifyAllShellブール値を含むオブジェクト - デフォルト: 未設定。分類器は組み込みルールのみを使用します
"$defaults" を通じて組み込みの soft_deny ルールを保持し、terraform apply をブロックするルールを 1 つ追加します。
settings.json
autoMode.classifyAllShell
auto モードがアクティブな間、すべての Bash および PowerShell コマンドを auto モードの分類器に通します。デフォルトでは、auto モードは任意のコードを実行できる許可ルールのみを一時停止します。具体的には、Bash(*) などのツール全体およびワイルドカードのルールと、Bash(python *) などのインタープリタまたはシェルラッパーのプレフィックスです。Bash(npm test) など、それ以外の許可ルールに一致するコマンドは、コマンドごとの許可ドメインを持たない限り分類器をスキップします。スキップした場合、ルールのプレフィックスが想定していなかった破壊的な引数が見過ごされたまま通過する可能性があります。このキーを設定すると、セッションのすべてのシェル許可ルールが一時停止され、分類器がすべてのコマンドを確認します。Claude Code v2.1.193 以降が必要です。
- スコープ:
User or managed。autoModeが読み取られる場所で読み取られます。 - タイプ: ブール値
true: auto モードがアクティブな間、Claude Code はすべての Bash および PowerShell コマンドを分類器に通し、シェル許可ルールを一時停止します。auto モード外では、ルールは引き続き適用されますfalse: auto モードはBash(*)やBash(python *)など、任意のコードを実行できる許可ルールのみを一時停止します。それ以外の許可ルールに一致するコマンドは、コマンドごとの許可ドメインを持たない限り分類器をスキップし、その他すべてのシェルコマンドは分類器を通ります
- デフォルト:
false
settings.json
disableAutoMode
auto モードを Shift+Tab サイクルから削除します。--permission-mode auto、設定ファイル、または組み込みデフォルトからauto モードで開始する可能性があるセッションは、代わりに default で開始します。管理者は管理設定で設定して、組織内の開発者が auto モードを使用するのを防ぎます。
- スコープ:
Any file。管理設定で最も有用です。ユーザーはそれを上書きできません。permissionsの下でpermissions.disableAutoModeとしても受け入れられます。 - タイプ: 文字列
"disable" - デフォルト: 未設定
settings.json
permissions
Claude が確認なしで使用できるツール、常にプロンプトを表示するツール、ブロックされるツールを制御し、セッションが開始する権限モードを設定します。以下のすべての permissions.* キーはこのオブジェクトの下にネストされます。
- スコープ:
Any file - タイプ:
allow、ask、deny、additionalDirectories、blockReadsOutsideWorkingDirectories、defaultMode、disableBypassPermissionsMode、disableAutoModeを含むオブジェクト - デフォルト: 未設定
npm run コマンドを確認なしで承認し、git push の前にプロンプトを表示し、.env の読み取りをブロックし、セッションを acceptEdits で開始します。
settings.json
permissions.allow の下の権限ルール構文を参照してください。異なるファイルからの権限ルールがどのように結合されるかについては、スコープ全体での権限ルールのマージ方法を参照してください。一般的に設定キーがどのように結合されるかについては、設定ガイドの設定の優先順位を参照してください。
useAutoModeDuringPlan
Claude Code が plan モード中にシェルコマンドを確認するために auto モードの分類器を使用するかどうかを選択します。デフォルトの true では、auto モードが利用可能な場合、分類器は計画中に各コマンドを確認し、プロンプトは表示されません。ただし、重要パスの削除を除きます。false に設定すると、組み込みの読み取り専用セット外のすべてのコマンドに対して権限プロンプトが表示されます。/config にプラン中に auto モードを使用として表示されます。
- スコープ:
User, local, or managed。リポジトリがこれをオフにすることはできません。 - タイプ: ブール値
true: 未設定と同じです。auto モードが利用可能な場合、分類器は計画中に各シェルコマンドを確認し、プロンプトを表示しません。ただし、重要パスの削除を除きます。これらのファイルのいずれかでfalseが設定されていれば、引き続きオフになりますfalse: 組み込みの読み取り専用セット外のすべてのコマンドに対して権限プロンプトが表示されます
- デフォルト:
true
settings.json
permissions.allow
Claude Code が確認なしで承認するツール使用をリストします。MCP ルールでは、* はツール名内の mcp__<server>__ プレフィックスの後にのみ使用できます(例:mcp__github__get_*)。サーバー名には使用できません。
- スコープ:
Any file - タイプ: 権限ルール文字列の配列
- デフォルト: 未設定
- セッションごとの上書き:
--allowedToolsは 1 つのセッションに許可ルールを追加しますが、任意の設定ファイルからの拒否ルールは、それが指定するツールを引き続きブロックします
git diff を承認し、Claude Code が確認なしに .zshrc を読み取ることを許可します。
settings.json
.claude/settings.json から allow ルールを適用するのは、そのフォルダのワークスペース信頼ダイアログを受け入れた後のみです。
権限ルール構文
権限ルールはTool または Tool(specifier) の形式に従います。Claude Code は deny ルールを最初に評価し、次に ask、次に allow を評価し、各ルールの具体性に関係なく最初に一致したものが結果を決定します。権限ルール評価順序を参照してください。
各行は 1 つのルール形状とそれが一致するものを示します。
ワイルドカード動作、Read、Edit、WebFetch、MCP、Agent ルールのツール固有パターン、および Bash パターンのセキュリティ制限を含む完全なルール構文については、権限ルール構文を参照してください。
permissions.ask
acceptEdits や bypassPermissions など、本来であれば承認される権限モードであっても確認を求めるツール使用をリストします。dontAsk モードでは、Claude Code は一致するツール使用に対してプロンプトを表示する代わりに拒否します。
- スコープ:
Any file - タイプ: 権限ルール文字列の配列
- デフォルト: 未設定
settings.json
permissions.deny
Claude Code がブロックするツール使用をリストします。API キー、シークレット、または環境値を保持するファイルに使用します。Claude Code は一致するファイルをファイル検出と検索結果から除外し、それらの読み取りを拒否し、一致するパスのEdit および Write ツールをブロックします。
Read および Edit 拒否ルールは Claude の組み込みファイルツール、Claude Code が Bash で認識するファイルコマンド(cat、head、tail、sed、tee など)、および > file や < file などの Bash リダイレクションのターゲットに適用されます。ファイル名を指定せずにファイルを読み取るコマンド(grep -r pattern . など)や任意のサブプロセスには適用されないため、OS レベルで強制するにはサンドボックスを有効にしてください。
- スコープ:
Any file - タイプ: 権限ルール文字列の配列
- デフォルト: 未設定
- セッションごとの上書き:
--disallowedToolsはこのキーと並行して 1 つのセッションに拒否ルールを追加します
.env ファイル、secrets ディレクトリ、認証情報ファイルの読み取りを拒否し、curl コマンドをブロックします。
settings.json
"*" はすべてのツールを拒否し、"mcp__*" はすべての MCP ツールを拒否します。Claude Code は、他のツールがまだ Claude で利用可能である限り、EndConversationツールの拒否ルールを無視します。Bash 拒否ルールは Claude が書いたコマンドと一致するため、Bash(curl *) は /usr/bin/curl や sh -c 'curl …' を停止しません。Bash ルールが一致しないものを参照してください。このキーは非推奨の ignorePatterns 設定に置き換わるものです。
permissions.additionalDirectories
Claude に開始したディレクトリ外のディレクトリへのファイルアクセスを付与し、追加の作業ディレクトリとして使用します。ほとんどの .claude/ 設定は、これらのディレクトリから検出されません。
- スコープ:
Any file。ただし、プロジェクトおよびローカルのエントリが付与するサンドボックスの書き込みアクセスには制限があります - タイプ: ディレクトリパスの配列
- デフォルト: 未設定
- セッションごとの上書き:
--add-dirおよび/add-dirはこのキーと並行して 1 つのセッションにディレクトリを追加します
settings.json
allow ルールと同様に、プロジェクトの .claude/settings.json のエントリは、そのフォルダのワークスペース信頼ダイアログを受け入れた後にのみ有効になります。
permissions.blockReadsOutsideWorkingDirectories
bypassPermissions を含むすべての権限モードで、Claude のファイルツールが作業ディレクトリ外の読み取りを拒否するようにします。Claude Code はそれらのパスに対する Read、Grep、Glob、LSP の呼び出しを拒否し、/add-dir でディレクトリを追加するようユーザーに求めるよう Claude に指示します。Claude Code 自体が必要とするファイル(~/.claude/ の下のスキル、プラグイン、ルール、エージェント、コマンド、CLAUDE.md メモリファイルなど)は読み取り可能なままです。Claude Code v2.1.257 以降が必要です。
Claude Code はシェルコマンドを同じ方法では拒否しません。
- どのモードでも自動承認されないアクションでは、そのようなパスを読み取るシェルコマンドがいつプロンプトを表示するかを説明しています
- ブロック下のサンドボックス化されたコマンドでは、サンドボックス化されたコマンドが何を読み取れるかを説明しています
bypassPermissions モードでもプロンプトを表示します。プロンプトは、コマンドが作業ディレクトリ外のパスを指定していない場合でも表示されます。このプロンプトは、コマンドがサンドボックスで実行され、サンドボックスがブロックを強制する場合には適用されません。
また、作業ディレクトリ外の最初の読み取り前に表示される auto モードのプロンプトでそのような読み取りをブロックすることを選択した場合も、Claude Code はここに true を書き込みます。
- スコープ:
Any file。いずれかのファイルのtrueが適用されるため、リポジトリは自身に対してブロックをオンにできますが、ユーザーが設定したブロックを解除することはできません。 - タイプ: ブール値
true: Claude のファイルツールは作業ディレクトリ外の読み取りを拒否しますfalse: 未設定と同じです。別のファイルがtrueを設定している場合、ブロックは引き続き適用されます
- デフォルト: 未設定。作業ディレクトリ外の読み取りは権限モードに従います
settings.json
--add-dir、/add-dir、またはユーザー設定や管理設定の additionalDirectories で追加したディレクトリは、ブロックにおいて作業ディレクトリとしてカウントされます。リポジトリ設定でのみ追加されたディレクトリはカウントされません。該当するのは .claude/settings.json のディレクトリと、git がそのファイルを未追跡として報告する場合を除く .claude/settings.local.json のディレクトリです。git リポジトリではないディレクトリ、または git がそのファイルを追跡している場合、Claude Code は .claude/settings.local.json をリポジトリ設定として扱うため、読み取り可能にしておきたいディレクトリは代わりにユーザー設定に配置してください。
autoMemoryDirectoryがプロジェクトの .claude/settings.json から、またはリポジトリ提供として扱われる.claude/settings.local.json から来る場合、Claude Code はそのディレクトリから自動メモリを読み込まず、そこに保存もしません。
ブロックを解除するには、それを設定しているすべての設定ファイルからキーを削除し、新しいセッションを開始します。
ブロック下のサンドボックス化されたコマンド
サンドボックス化がオンの場合、ブロックはサンドボックス化されたコマンドにも適用されます。Claude Code はホームディレクトリおよびユーザーファイルを保持する他のルート(/Users、/home、/root、/Volumes、/mnt、/media、/run/media、/srv)への読み取りアクセスを拒否します。その後、作業ディレクトリ、Claude Code がセッション中に作成する worktree、セッションの一時ディレクトリ、およびコマンドが必要とする ~/.claude の部分(スキルやプラグインなど)を再度開きます。ブロックが有効な間、リポジトリ設定からの allowRead および allowWrite エントリはカウントされません。
セッションの作業ディレクトリがリンクされた git worktree である場合(Claude Code がセッション中に入ったものを含む)、リポジトリの共通 .git ディレクトリはサンドボックス化されたコマンドに対して読み取り可能および書き込み可能なままなので、git はそこで引き続き機能します。
次の場合、ブロックはサンドボックス化されたコマンドには及びませんが、Claude のファイルツールは引き続きそれを強制します。
- ファイルシステム分離が
sandbox.filesystem.disabledによってオフになっている allowManagedReadPathsOnlyが設定されている- Claude Code を開始したディレクトリのパスに
*、?、[などのグロブ文字が含まれている
git はユーザーのアイデンティティと設定を保持します。
~/.gitconfig$XDG_CONFIG_HOME/gitの下のconfig、ignore、attributesファイル(デフォルトは~/.config/git)- グローバル git 設定が
[include]、[includeIf]、core.excludesFile、core.attributesFileを通じて指定するファイル
git はそのファイルなしで実行されます。~/.git-credentials および $XDG_CONFIG_HOME/git/credentials はブロックされたままです。
再度開いたファイルがシークレット(http.extraHeader トークンなど)を保持する場合、そのパスを sandbox.filesystem.denyRead に追加してください。ファイルをカバーする denyRead エントリは、常にこの再度開く処理より優先されます。
permissions.defaultMode
新しいセッションが開始する権限モードを設定します。未設定のままにすると、セッションは使用しているサーフェスの組み込みデフォルトで開始します。
- スコープ:
Any file。autoおよびbypassPermissionsはプロジェクトまたはローカル設定からは有効にならないため、代わりに~/.claude/settings.jsonで設定してください。v2.1.257 より前では、bypassPermissionsは任意のファイルから有効になりました。VS Code 拡張機能が開始する会話の場合、Claude Code はユーザー、管理、および--settingsの値のみを読み取ります。 - タイプ: 文字列。次のいずれか:
"default": Claude Code は確認なしで読み取りのみを実行します"acceptEdits": Claude Code は確認なしでファイル編集とmkdirやmvなどの一般的なファイルシステムコマンドも実行します"plan": Claude Code は読み取りと計画を行いますが、計画を承認するまで編集をブロックします"auto": Claude Code は日常的なプロンプトなしで実行します。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンドの分類器がそれらがユーザーのリクエストに沿っているかを確認します"dontAsk": Claude Code はプロンプトを表示するはずのすべての呼び出しを自動的に拒否します。ただし、インストールした mod はそれらの呼び出しの一部を引き続き承認できます。作業ディレクトリ内のファイル読み取り、承認が不要な他のアクション、事前承認されたツールは引き続き実行されます。ただし、ネットワークパスからの読み取りは除きます"bypassPermissions": Claude Code はすべてを確認なしで実行します"manual":"default"のエイリアス
- デフォルト: 未設定
- セッションごとの上書き:
--permission-mode、およびbypassPermissionsに相当する--dangerously-skip-permissionsは、1 つのセッションにおいてこのキーより優先されます
settings.json
deny ルールは bypassPermissions を含むすべてのモードでブロックします。権限モードを参照してください。クラウドセッションでは、Claude Code はこのキーのうち acceptEdits、plan、default、auto のみを尊重します。VS Code 拡張機能が開始する会話については、拡張機能が開始権限モードとして読み取る設定を参照してください。
permissions.disableBypassPermissionsMode
誰も bypassPermissions モードに入れないようにします。Claude Code は --dangerously-skip-permissions フラグを拒否し、エージェント定義の permissionMode: bypassPermissions を無視するため、サブエージェントは親セッションの権限モードで実行されます。
- スコープ:
Any file。通常、組織のポリシーを強制するために管理設定で設定します。 - タイプ: 文字列
"disable" - デフォルト: 未設定
- セッションごとの上書き: このキーは
--dangerously-skip-permissionsより優先されます。キーが設定されている間、Claude Code はそのフラグを拒否します
settings.json
skipAutoPermissionPrompt
組み込みデフォルトによってセッションが auto モードで開始された場合ではなく、ユーザー自身の設定やモードセレクターなどを通じて初めて auto モードに入ったときに Claude Code が表示する、auto モードを説明する 1 回限りの通知をスキップします。Claude Code はその通知を 1 回表示した後、表示済みであることを記録するため、このキーは通知がまだ表示されていない場合にのみ意味を持ちます。
- スコープ:
User or managed。リポジトリがこれを設定することはできません。 - タイプ: ブール値
true: Claude Code は通知をスキップしますfalse: 未設定と同じです。これらのファイルのいずれかがtrueを設定しない限り、通知が 1 回表示されます
- デフォルト: 未設定。通知が 1 回表示されます
settings.json
skipDangerousModePermissionPrompt
--dangerously-skip-permissions からか defaultMode: "bypassPermissions" からかに関わらず、セッションが bypassPermissions モードに入る前に Claude Code が表示する確認ダイアログをスキップします。そのダイアログを一度受け入れると、Claude Code はユーザー設定のこのキーに true を書き込みます。
- スコープ:
User, local, or managed。信頼されていないリポジトリがダイアログをスキップさせることはできません。 - タイプ: ブール値
true: Claude Code はセッションがbypassPermissionsモードに入る前の確認ダイアログをスキップしますfalse: 未設定と同じです。これらのファイルのいずれかがtrueを設定しない限り、ダイアログが表示されます
- デフォルト: 未設定。ダイアログが表示されます
settings.json
サンドボックス設定
Claude が実行するコマンドをファイルシステム、ネットワーク、認証情報から分離します。サンドボックスの仕組みとプラットフォーム要件については、サンドボックスを参照してください。sandbox
サンドボックスを使用して、Claude が実行する Bash コマンドをファイルシステムとネットワークから分離します。enabled でサンドボックスをオンにしてから、filesystem、network、credentials サブオブジェクトを使用して、サンドボックス化されたコマンドが何にアクセスできるかを制限または拡大します。サンドボックスは macOS、Linux、WSL2 で実行されます。
- Scope:
Any file - 型:
enabled、failIfUnavailable、autoAllowBashIfSandboxed、excludedCommands、allowUnsandboxedCommands、enableWeakerNestedSandbox、enableWeakerNetworkIsolation、allowAppleEvents、allowNestedUserNamespaces、bwrapPath、socatPath、ignoreViolations、ripgrepに加え、filesystem、network、credentialsの各オブジェクトを持つオブジェクト - Default: 未設定。Claude Code はサンドボックスなしでコマンドを実行します
docker をサンドボックスの外で実行し、2 つの追加の書き込みパスを開き、AWS 認証情報ファイルを非表示にし、GitHub と npm を事前に許可します:
settings.json
enabled や failIfUnavailable などのブール値キーを設定した場合、その値は開発者が設定したものをすべて上書きします。Claude Code は配列キーをセッションが読み込む設定スコープ全体でマージするため、開発者はエントリを追加できます。管理設定専用のロックについては、ポリシーの拡大を開発者に防止させるを参照してください。組織に対してサンドボックスを必須にするには、管理設定でサンドボックスを強制するを参照してください。
sandbox.enabled
Bash コマンドのサンドボックスをオンにします。/sandbox パネルでモードを選択すると、Claude Code はこのキーを現在のプロジェクトの .claude/settings.local.json に書き込みます。~/.claude/settings.json に設定して、すべてのプロジェクトをサンドボックス化します。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true: Claude Code は Bash コマンドをサンドボックス化しますfalse: Bash コマンドはサンドボックスなしで実行されます
- Default:
false
settings.json
bubblewrap と socat が必要です。Linux と WSL2 をセットアップするを参照してください。サンドボックスが起動できない場合、failIfUnavailable も設定していない限り、Claude Code はコマンドをサンドボックスなしで実行します。
sandbox.failIfUnavailable
sandbox.enabled が true であるにもかかわらず、依存関係の不足やプラットフォームの非対応によりサンドボックスが起動できない場合に、Claude Code がスタートアップ時にエラーで終了するようにします。このキーがない場合、Claude Code はコマンドをサンドボックスなしで実行します。セキュリティゲートとしてサンドボックスを必須とする管理対象のデプロイでは、この設定を使用できます。
サンドボックスがサポートしていないプラットフォームでは、このキーがオンの場合、Claude Code は起動しません。管理設定でサンドボックスを強制するを参照してください。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true:sandbox.enabledがtrueであるにもかかわらずサンドボックスが起動できない場合、Claude Code はスタートアップ時にエラーで終了しますfalse: サンドボックスが起動できない場合、Claude Code はコマンドをサンドボックスなしで実行します
- Default:
false
managed-settings.json
sandbox.autoAllowBashIfSandboxed
Claude Code がサンドボックス化された Bash コマンドを権限プロンプトなしで実行できるようにします。サンドボックスで実行できないコマンドは通常の権限フローを通過し、deny ルールと Bash(git push *) などのコンテンツスコープ付き ask ルールは引き続き適用されます。ベアの Bash ask ルールはサンドボックス化されたコマンドではスキップされます。これを false に設定して、サンドボックス化されたコマンドも通常の権限フローを通すようにします。これは /sandbox Mode タブが通常権限モードと呼ぶものです。
- Scope:
Any file - Type: ブール値
true: Claude Code はサンドボックス化された Bash コマンドを権限プロンプトなしで実行します。ただし、自動許可モードで説明されているケースを除きます。CLAUDE_CODE_SUBPROCESS_ENV_SCRUBは自動許可をオフにしますfalse: サンドボックス化されたコマンドは通常の権限フローを通過するため、許可ルールと権限モードが決定します。/sandboxMode タブはこれを通常権限モードと呼びます
- Default:
true
settings.json
sandbox.excludedCommands
Claude Code がサンドボックスの外で実行するコマンド(サンドボックスで動作しないツールなど)に名前を付けます。各エントリは、Bash(...) 権限ルールの内容と同じ構文を使用します:正確なコマンド、docker * などのプレフィックス、またはワイルドカードパターン。ワイルドカードを含まないパターンは完全一致となるため、docker は引数なしの docker にのみ一致します。
エントリは、Bash 呼び出しのすべてのコマンドをカバーする場合にのみ、Bash 呼び出しをサンドボックスから外します。一部の呼び出し形式はそれでもサンドボックス化されたままです。docker * エントリだけでは、npm ci && docker build . をサンドボックスから外しません。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: コマンドパターンの配列
- Default: 未設定。コマンドは除外されません
settings.json
sudo、eval、またはxargsで始まるコマンドcd、pushd、またはpopd(呼び出しのどこにでも出現)- コマンド置換、サブシェル、または
ifやforなどの制御フロー ブロック docker build . > build.logなど、ファイル記述子を複製するもの以外のリダイレクト(2>&1など)- 変数から来るコマンド名
- パス引数が絶対パスである、
~で始まる、または..セグメントを含むgit clone、git init、git worktree add、git worktree move、またはgit bundle create
cd build && docker compose up は docker * エントリの下でサンドボックス化されたままであり、cd エントリを追加してもそれは変わりません。git * エントリの下では、git clone <url> vendor/lib はサンドボックスの外で実行されますが、git clone <url> ~/tools はサンドボックス化されたままです。クローンは、宛先パスが指す場所に、実行可能なものを含む可能性のあるファイルツリー全体を書き込みます。
除外されたコマンドも通常の権限フローを通過します。除外は便宜的なものであり、セキュリティ境界ではありません。ツールが特定の場所にのみ書き込む必要がある場合は、filesystem.allowWrite を使えばサンドボックス化されたままにできます。
サンドボックスが管理者必須でない限り、セッションが読み込む設定スコープのエントリは 1 つのリストに結合されます。管理者必須の間、Claude Code は .claude/settings.json と .claude/settings.local.json のエントリを無視するため、クローンしたリポジトリがコマンドをサンドボックスの外に出すことはできません。管理設定、--settings、および ~/.claude/settings.json のエントリは引き続き適用され、このリストに対する管理設定専用のロックはありません。
sandbox.allowUnsandboxedCommands
サンドボックスによってブロックされた後、Claude が dangerouslyDisableSandbox パラメータを使用してコマンドをサンドボックスの外で再試行できるようにします。false の場合、Claude Code はそのパラメータを無視します。その結果、サンドボックスの実行中は、Claude が実行するコマンドは excludedCommands のエントリに一致しない限りサンドボックス化されます。/sandbox Overrides タブはその状態を厳密なサンドボックスモードとして表示します。管理設定で false にすると、その対象となる開発者に対して厳密なサンドボックスモードがオンになります。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true: Claude がサンドボックスによってブロックされた後、dangerouslyDisableSandboxパラメータを使用してコマンドをサンドボックスの外で再試行できますfalse: Claude Code はそのパラメータを無視するため、サンドボックスの実行中は、Claude が実行するコマンドはexcludedCommandsのエントリに一致しない限りサンドボックス化されます
- Default:
true
managed-settings.json
--settings からの false は、サンドボックスを管理者必須にもします。ユーザー設定の false はプロジェクトの true よりも優先されますが、サンドボックスを管理者必須にはしません。プロジェクトの値よりも優先させるには Claude Code v2.1.285 以降が必要です。
サンドボックスなしの再試行を誰が承認するかは、権限モードと許可ルールによって決まります。サンドボックスなしの再試行エスケープハッチを参照してください。
! シェルモードプロンプトで自分で入力するコマンドがサンドボックス化されるときを確認するには、厳密なサンドボックスモードを参照してください。
sandbox.filesystem
サンドボックス化されたコマンドが読み取りおよび書き込みできるパスを制御します。デフォルトでは、作業ディレクトリ、ユーザーごとの一時ディレクトリ、--add-dir、/add-dir、または permissions.additionalDirectories で追加したディレクトリに書き込むことができ、認証情報ファイルを含むファイルシステムの残りの部分を読み取ることができます。4 つのパスリストで制限または拡大するか、disabled でファイルシステムレイヤーをオフにします。ファイルシステム分離のデフォルト境界を参照してください。
- Scope:
Any file - Type:
allowWrite、denyWrite、denyRead、allowRead配列を含むオブジェクト、およびallowManagedReadPathsOnlyとdisabledブール値 - Default: 未設定。デフォルトの読み取りおよび書き込み境界が適用されます
settings.json
kubectl、terraform、npm などのサンドボックス化されたコマンドが開始するすべてのサブプロセスに適用されます。Claude Code は権限ルールを同じリストに追加します:Edit 許可および拒否ルールを allowWrite および denyWrite に、Read 拒否ルールを denyRead に、WebFetch(domain:...) 許可および拒否ルールをnetworkドメインリストに追加します。
ロックが適用されない限り、Claude Code はセッションが読み込む設定ファイル全体でこれらのリストをマージします。allowManagedReadPathsOnlyは allowRead を管理設定からのエントリに制限し、allowManagedDomainsOnlyは許可されたドメインに対して同じことを行います。リポジトリロックは、リポジトリの設定ファイルからのエントリを除外します。
サンドボックスを設定するは、--setting-sources で除外するソースをカバーしています。セッション中にリストを編集すると、Claude Code は実行中のセッションに変更を適用します。
サンドボックスパスプレフィックス
allowWrite、denyWrite、denyRead、allowRead、および credentials.files のパスはプレフィックスで解決されます:
絶対パスの
//path プレフィックスも機能します。プロジェクト相対解決を期待して単一スラッシュ /path を使用する場合は、./path に切り替えます。この構文は、//path を絶対パスに、/path をプロジェクト相対に使用するRead および Edit 権限ルールとは異なります。サンドボックスファイルシステムパスは標準規則を使用するため、/tmp/build は絶対パスです。
Claude Code はディレクトリパスから末尾のスラッシュを削除するため、~/.aws と ~/.aws/ は同じディレクトリと一致します。v2.1.224 より前では、Claude Code は末尾のスラッシュをサンドボックスに渡していたため、末尾のスラッシュ付きで記述された denyRead または denyWrite エントリの下のパスを、Claude が引き続き読み取りまたは書き込みできました。
ワイルドカード *、?、** は、macOS では 4 つの sandbox.filesystem パスリストすべてで機能しますが、Linux と WSL2 では機能する場所が限られます:
~/keys/*.pem では、ワイルドカードは最初のディレクトリ名より後にあります。ホームディレクトリが /home/alice の場合、最初のディレクトリ名は home です:
/sandbox の Config タブに、末尾の /** 以外のワイルドカードを含む Edit 権限ルールについての警告が表示されます。それらのワイルドカードは、サンドボックス化されたコマンドには機能しません。ルールが対象とすべき各パス、またはそれらを含むディレクトリを、許可ルールの場合は allowWrite に、拒否ルールの場合は denyWrite に追加してください。
名前に角括弧を含むディレクトリを許可またはブロックするには、./app/[slug] のように名前をそのまま記述します。このエントリでは、[slug] は角括弧を含めてディレクトリの実際の名前です:
/** は付けないでください。macOS、Linux、WSL2 では、サンドボックス化されたコマンドの起動時に app/[slug] ディレクトリが存在している必要があります。
[slug]のような角括弧: macOS ではすべてのリストで、Linux と WSL2 ではdenyReadとallowReadで、./app/[slug]の角括弧はパターンとしても扱われます。その場合、このエントリはapp/sやapp/gなど、app配下にある、slugのうち 1 文字を名前とするパスにも一致します。このエントリがallowReadにある場合、または macOS でallowWriteにある場合、サンドボックス化されたコマンドはそれらのパスにもアクセスできます。アクセスさせるべきでないものは名前を変更してください。[user-id]や[post-id]のように、ハイフンの左側の文字が右側の文字より後にソートされる角括弧:./app/[user-id]は、すべてのプラットフォームのすべてのリストで、その名前と完全に一致するディレクトリのみを対象とします。v2.1.304 より前は、denyReadまたはallowReadにそのようなエントリがあると、Linux と WSL2 でサンドボックス化されたコマンドの起動に失敗していました。- 波括弧と丸括弧: これらは通常の文字であるため、
~/data/{keys,tokens}は 2 つの選択肢ではなく、{keys,tokens}という名前の 1 つのディレクトリを対象とします。~/data/keysと~/data/tokensを対象とするには、それぞれを個別のエントリとして追加してください。
sandbox.filesystem.allowWrite
作業ディレクトリ、ユーザーごとの一時ディレクトリ、--add-dir、/add-dir、または permissions.additionalDirectories で追加したディレクトリを超えて、サンドボックス化されたコマンドが書き込むことができるパスを追加します。kubectl やビルドツールなどのサブプロセスがプロジェクト外に書き込む必要がある場合に使用します。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: サンドボックスパスプレフィックスを使用するパス文字列の配列
- Default: 未設定。サンドボックス化されたコマンドは、作業ディレクトリ、ユーザーごとの一時ディレクトリ、
--add-dirまたは/add-dirで追加したディレクトリ、およびpermissions.additionalDirectoriesのディレクトリに書き込むことができます
/tmp/build の下に書き込むことができ、kubectl は kubeconfig を更新できます:
settings.json
allowWrite エントリと Edit(...) 許可権限ルールからのパスをセッションが読み込むすべての設定スコープ全体でマージし、permissions.blockReadsOutsideWorkingDirectoriesがオンの間、リポジトリ設定からのものを除外します。リポジトリロックによってリポジトリのエントリが除外されることもあります。allowWrite エントリは保護されたパスを解除できません。
sandbox.filesystem.denyWrite
サンドボックス化されたコマンドが特定のパスへの書き込みをブロックします。これには、別の方法で書き込み可能なディレクトリ内のパスが含まれます。
- Scope:
Any file - Type: サンドボックスパスプレフィックスを使用するパス文字列の配列
- Default: 未設定
settings.json
Edit(...) 拒否権限ルールからのパスを追加します。
sandbox.filesystem.denyRead
サンドボックス化されたコマンドが特定のパス(デフォルトの読み取りポリシーが公開する認証情報ファイルなど)の読み取りをブロックします。認証情報ファイルを保護し、サンドボックスプロキシを通じて使用可能に保つには、代わりに sandbox.credentials を参照してください。
- Scope:
Any file - Type: サンドボックスパスプレフィックスを使用するパス文字列の配列
- Default: 未設定。サンドボックス化されたコマンドはデフォルト読み取りアクセスを保持します。これには
~/.aws/credentialsなどの認証情報ファイルが含まれます
settings.json
Read(...) 拒否権限ルールからのパスを追加します。filesystem.disabledが true の場合、Claude Code はこれらのエントリを強制しません。
sandbox.filesystem.allowRead
denyReadがブロックする領域内の特定のパスの読み取りを再度開き、ワークスペースのみの読み取りアクセスを構築します。正確またはワイルドカード denyRead エントリは、より広い allowRead 内でブロックされたままです。重複テーブルが示すとおりです。ワイルドカード denyRead エントリ(~/**/.env など)がディレクトリと一致する場合、Claude Code はその内容の読み取りもブロックします。v2.1.236 より前の macOS では、Claude Code はワイルドカード denyRead エントリが一致したパスを、より広い allowRead エントリがカバーしている場所で再度開き、一致したディレクトリの内容を読み取り可能なままにしました。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: サンドボックスパスプレフィックスを使用するパス文字列の配列
- Default: 未設定
settings.json
. エントリをプロジェクト設定ではプロジェクトルートに、ユーザー設定では ~/.claude に解決します。allowManagedReadPathsOnly が設定されていない限り、Claude Code はセッションが読み込む設定ファイル全体でエントリをマージし、permissions.blockReadsOutsideWorkingDirectories がオンの間はリポジトリ設定からのエントリを除外します。リポジトリロックによってリポジトリのエントリが除外されることもあります。
sandbox.filesystem.allowManagedReadPathsOnly
管理設定から来る allowRead エントリのみを尊重するため、開発者は組織がブロックしたパスへの読み取りアクセスを再度開くことができません。Claude Code は引き続きセッションが読み込むすべての設定スコープから denyRead エントリをマージします。
- Scope:
Managed - Type: ブール値
true: Claude Code は管理設定からのallowReadエントリのみを尊重しますfalse: 他の設定ファイルからのallowReadエントリもマージされます
- Default:
false
~/work が再度開かれ、開発者が他のものを再度開くのが停止されます:
managed-settings.json
sandbox.filesystem.disabled
ネットワーク分離を保持しながらファイルシステム分離をスキップします。サンドボックス化されたコマンドはホストファイルシステムへの無制限の読み取りおよび書き込みアクセスを取得し、それらのネットワーク出力は network.allowedDomains に限定されたままです。コマンドが何を書き込むかではなく、どこに接続するかを制御するためにサンドボックスを使用する場合に使用します。Claude Code v2.1.216 以降が必要です。
- Scope:
User or managed。管理設定がsandbox.filesystemをまったく設定する場合、または"mode": "deny"を持つsandbox.credentials.filesエントリをリストする場合、管理設定のみがそれを設定できます。 - Type: ブール値
true: Claude Code はファイルシステム分離をスキップし、ネットワーク分離を保持しますfalse: ファイルシステム分離は有効なままです
- Default:
false。ファイルシステム分離は有効なままです
settings.json
denyRead または credentials.files deny エントリを強制しませんが、credentials.envVars エントリと適用された mask エントリは引き続き機能します。autoAllowBashIfSandboxedは引き続き true にデフォルト設定されるため、プロンプトを続けるには false に設定します。ファイルシステム分離を無効にするを参照して、それを設定できるソースの完全なリストと、分離がオフの場合に何が変わるかを確認してください。Claude Code v2.1.216 以降が必要です。
sandbox.ignoreViolations
コマンドがプローブして拒否されることが予想されるパスのサンドボックス違反レポートを沈黙させます(例えば、スタートアップ時に /etc/hosts をチェックするツール)。これらの拒否は違反として表示されず、Claude が見るものにも表示されません。サンドボックスはアクセスをブロックしたままです。レポートのみが抑制されます。キーはコマンドに対して一致するサブストリング(* はすべてのコマンドに一致)で、値はそのコマンドで無視する違反のサブストリング(ファイルシステムパスなど)です。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: コマンドサブストリングを違反サブストリングの配列にマップするオブジェクト(通常はパス)
- Default: 未設定。すべての違反が報告されます
settings.json
sandbox.enableWeakerNestedSandbox
Linux サンドボックスを非特権 Docker コンテナ内で実行します。bubblewrap は新しい /proc をマウントできません。代わりに、内部サンドボックスはコンテナの既存の /proc をバインドマウントします。これにより、新しいマウントが非表示にするプロセス情報が公開されます。これはセキュリティを低下させます。外部コンテナが既に必要な分離を提供する場合にのみ使用します。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true: 内部サンドボックスは新しい/procをマウントする代わりに、コンテナの既存の/procをバインドマウントしますfalse: サンドボックスは新しい/procをマウントします。これは非特権 Docker コンテナでは機能しません
- Default:
false
settings.json
sandbox.enableWeakerNetworkIsolation
macOS でサンドボックス化されたコマンドがシステム TLS トラストサービス com.apple.trustd.agent に到達できるようにします。gh、gcloud、terraform などの Go ベースのツールは、network.httpProxyPortを MITM プロキシとカスタム CA で使用する場合、TLS 証明書を検証するために必要です。これはトラストサービスを通じた潜在的なデータ流出パスを開くことでセキュリティを低下させます。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true: macOS でサンドボックス化されたコマンドはcom.apple.trustd.agentに到達できますfalse: macOS でサンドボックス化されたコマンドはシステム TLS トラストサービスに到達できません
- Default:
false
settings.json
excludedCommands にリストします。Go ベースの CLI が macOS で TLS 検証に失敗するを参照してください。
sandbox.allowAppleEvents
macOS でサンドボックス化されたコマンドが Apple Events を送信できるようにします。open、osascript、およびブラウザで URL を開くツールはこれが必要です。これがないと、エラー -600 で失敗します。これはコード実行分離を削除します。サンドボックス化されたコマンドはユーザープロンプトなしで他のアプリケーションを非サンドボックス化で起動でき、Terminal などの実行中のアプリケーションに AppleScript コマンドを送信できます。これはアプリごとの macOS オートメーション同意プロンプト(TCC)の対象です。
- Scope:
User or managed - Type: ブール値
true: macOS でサンドボックス化されたコマンドは Apple Events を送信できますfalse: macOS でサンドボックス化されたコマンドは Apple Events を送信できないため、openとosascriptはエラー-600で失敗します
- Default:
false
settings.json
excludedCommands に追加します。macOS の Apple Eventsを参照してください。
sandbox.allowNestedUserNamespaces
Linux と WSL2 上のサンドボックス化されたコマンドがユーザー名前空間を作成できるようにします。Chromium や Electron 独自のサンドボックス、入れ子の bubblewrap、unshare はこれを必要とします。このキーを true に設定すると、セキュリティ境界がオフになります。サンドボックス化されたコマンドのコードが、サンドボックスの外で実行される可能性があります。rootless の Podman や Buildah については、サンドボックスは他の方法でもそれらを停止させるため、代わりに excludedCommands を使用してください。Claude Code v2.1.305 以降が必要です。
- スコープ:
User or managed。trueは、~/.claude/settings.json、--settingsで渡された JSON、または管理設定からのものが有効になります。Claude Code は、プロジェクトの.claude/settings.jsonまたは.claude/settings.local.jsonにあるtrueを無視します。CLAUDE_CODE_SUBPROCESS_ENV_SCRUBが1に設定されたセッションでは、Claude Code はすべてのソースからのtrueを無視します。falseは、設定の優先順位に従い、任意のファイルからのものが有効になります。 - 型: ブール値
true: サンドボックス化されたコマンドはユーザー名前空間を作成できますfalse: このキーによって追加で許可されるものはなく、サンドボックスのデフォルトが適用されます
- デフォルト:
false
settings.json
credentials.files エントリを含むサンドボックスのいかなる制限にも頼らないでください。自動許可モードでは、そのようなコマンドが権限プロンプトなしで実行される可能性があります。組織にセキュリティチームがある場合は、このキーをオンにする前に相談してください。
お使いのツールの解決方法については、Linux のサンドボックス内で Chromium または rootless Podman が失敗するを参照してください。
sandbox.ripgrep
Claude Code が使用するものの代わりに、独自の ripgrep バイナリをサンドボックスに指定します。たとえば、プラットフォームが異なる方法でビルドされた rg を必要とする場合です。
- Scope:
User or managed - Type: ripgrep バイナリへのパスである
commandを含むオブジェクト、および前置する引数の配列である optionalargs - Default: 未設定。サンドボックスは Claude Code と同じ ripgrep バイナリを使用します。
USE_BUILTIN_RIPGREPを0に設定しない限り、これはバンドルされたバイナリです
settings.json
sandbox.bwrapPath
PATH の外にインストールされた bubblewrap バイナリ(エアギャップホスト上のベンダー版など)をサンドボックスに指定します。Claude Code はスタートアップ依存関係チェックと、サンドボックス化された各コマンドをラップするときの両方でパスを使用します。
- Scope:
Managed。Claude Code はユーザー、プロジェクト、またはローカルファイルがサンドボックスを別のバイナリに指定できないように、管理設定からのみ読み取ります。 - Type: 文字列。絶対パス。Claude Code は相対パスを削除し、
PATHルックアップにフォールバックします - Default: 未設定。Claude Code は
PATHでbwrapを見つけます
managed-settings.json
sandbox.socatPath
PATH の外にインストールされた socat バイナリをサンドボックスネットワークプロキシに指定します。
- Scope:
Managed - Type: 文字列。絶対パス。Claude Code は相対パスを削除し、
PATHルックアップにフォールバックします - Default: 未設定。Claude Code は
PATHでsocatを見つけます
managed-settings.json
sandbox.credentials
サンドボックス化されたコマンドから保護する認証情報ファイルと環境変数を宣言します。各エントリはファイル path または変数 name と mode に名前を付けます:deny はサンドボックス内の認証情報を非表示にし、mask はサンドボックス化されたコマンドにプレースホルダーを表示します。サンドボックスプロキシは送信リクエストで実際の値を置き換えます。Claude Code はリストしたエントリのみを保護します。組み込みの認証情報拒否リストはありません。
- Scope:
Any file。Claude Code はmaskエントリ、allowPlaintextInject、awsPairs、sigv4をユーザー設定、管理設定、--settingsフラグからのみ尊重します。 - Type:
files、envVars、allowPlaintextInject、awsPairs、sigv4を含むオブジェクト - Default: 未設定。認証情報は保護されません
GITHUB_TOKEN がサンドボックス化されたコマンドから削除されます:
settings.json
deny ファイル保護はファイルシステムレイヤーの一部であるため、ファイルシステム分離を無効にする場合は適用されません。環境変数保護は引き続き適用されます。
管理設定の無効な認証情報エントリ
管理対象のsandbox.credentials エントリが検証に失敗した場合、Claude Code は可能な限り認証情報を保護し続けます:
filesまたはenvVarsのエントリで、有効なpathまたはnameとmaskまたはdenyのmodeを持つもの(キャプチャグループがないextractパターンなど)は、警告とともにmode: "deny"に低下されるため、認証情報はマスクされず、エントリを修正するまでブロックされたままです。低下したfilesエントリは、明示的なdenyエントリのようにfilesystem.disabledをピンします。警告は、管理設定がファイルシステム分離をオフにする場合、その読み取りブロックが強制されないことを記します。- 不明な
modeまたは無効なpathまたはnameを持つエントリは削除されます。 - 各ケースは警告します。エントリが低下または削除されるかどうかに関わらず、残りの有効なエントリは引き続き強制されます。
sandbox.credentials.files
認証情報ファイルまたはディレクトリをサンドボックス化されたコマンドから保護します。"mode": "deny" の場合、Claude Code はサンドボックス内のパスの読み取りをブロックします。これは sandbox.filesystem.denyRead と同じ読み取りブロックです。"mode": "mask" の場合、Linux と WSL2 でサンドボックス化されたコマンドはファイルのセンチネルコピーを読み取り、サンドボックスプロキシはそのエントリの injectHosts への送信リクエストで実際の値を置き換えます。macOS ではファイルはサンドボックス内で読み取り不可です。"mode": "mask" には Claude Code v2.1.221 以降が必要です。
- Scope:
Any file。Claude Code はプロジェクト.claude/settings.jsonとローカル.claude/settings.local.jsonからmaskエントリを削除します。 - Type: オブジェクトの配列。各オブジェクトは
pathと"deny"または"mask"のmode、および optional ファイルのマスクフィールドを含みます - Default: 未設定。認証情報ファイルは保護されません
gh ホストファイルがマスクされ、api.github.com へのリクエストでのみ実際の値が置き換えられます:
settings.json
sandbox.filesystem.* 設定と同じプレフィックスを使用し、Claude Code はセッションが読み込むすべての設定スコープから配列をマージします。認証情報を保護するは、--setting-sources で除外するソースから何が引き続き適用されるかをカバーしています。mask エントリには Claude Code v2.1.221 以降が必要です。
mask 置換はサンドボックスプロキシを通じてのみ実行されるため、sandbox.network.tlsTerminate、または プレーン HTTP テストネットワークの場合は allowPlaintextInject を設定します。mask は単一ファイルに適用されるため、各認証情報ファイルを個別にリストします。Claude Code は deny エントリの mask フィールドを受け入れますが、無視します。認証情報をマスクするはどの設定ソースが尊重されるかを、認証情報ファイルをマスクするはエントリが deny にフォールバックするときをカバーしています。
ファイルのマスクフィールド
mask エントリはこれらの optional フィールドを受け入れます。extract または decode がない場合、Claude Code はファイル全体の内容を 1 つのセンチネルで置き換えます。ファイルシステム分離がオンの macOS では、Claude Code は extract または decode が実行される前に mask エントリを deny として適用します。認証情報ファイルをマスクするを参照してください。
これにより、
gh ホストファイル内の oauth_token 値のみがマスクされ、ファイル内のそれぞれの他のコピーが置き換えられ、パターンが何も一致しない場合はファイルが読み取り不可になり、実際のトークンは api.github.com へのリクエストでのみ置き換えられます:
settings.json
sandbox.credentials.envVars
環境変数をサンドボックス化されたコマンドから保護します。"mode": "deny" の場合、Claude Code はサンドボックス化されたコマンドの環境から変数を削除します。"mode": "mask" の場合、サンドボックス化されたコマンドはセッションごとのセンチネル値を見て、サンドボックスプロキシはそのエントリの injectHosts への送信リクエストで実際の値を置き換えます。gh や npm などのツールは実際の認証情報を保持することなく認証を続けます。
- Scope:
Any file。Claude Code はプロジェクト.claude/settings.jsonとローカル.claude/settings.local.jsonからmaskエントリを削除します。 - Type: オブジェクトの配列。各オブジェクトは
nameと"deny"または"mask"のmode、および optional 環境変数のマスクフィールドを含みます - Default: 未設定。環境変数は保護されません
NPM_TOKEN がサンドボックス化されたコマンドから削除され、GITHUB_TOKEN がマスクされ、実際の値は api.github.com へのリクエストでのみ置き換えられます:
settings.json
name は文字または下線で始まり、文字、数字、下線のみを含む必要があります。Claude Code はセッションが読み込むすべての設定スコープから配列をマージし、同じ変数が両方のモードで表示される場合は deny を適用します。認証情報を保護するは、--setting-sources で除外するソースから何が引き続き適用されるかをカバーしています。
mask 置換はサンドボックスプロキシを通じてのみ実行されるため、sandbox.network.tlsTerminate、または プレーン HTTP テストネットワークの場合は allowPlaintextInject を設定します。認証情報をマスクするを参照してください。Claude Code は deny エントリの mask フィールドを受け入れますが、無視します。
環境変数のマスクフィールド
mask エントリはこれらの optional フィールドを受け入れます。extract または decode がない場合、Claude Code は全体の値を 1 つのセンチネルで置き換えます。extract と decode は同じエントリで組み合わせることはできません。
これにより、
DATABASE_URL 内のパスワードのみがマスクされ、パターンが何も一致しない場合は変数がアンセットされ、SERVICE_JWT の JWT がマスクされます。api_key を除くすべてのクレームは読み取り可能なままです:
settings.json
sandbox.credentials.allowPlaintextInject
TLS 終了 HTTPS だけでなく、プレーン HTTP リクエストでも mask 置換を許可します。プレーン HTTP では、アップストリーム ID は検証されず、認証情報はクリアテキストで移動するため、信頼できるテストネットワーク外ではこれをオフのままにします。
- Scope:
User or managed - Type: ブール値
true: Claude Code はプレーン HTTP リクエストと TLS 終了 HTTPS の両方でmask置換を許可しますfalse: Claude Code は TLS 終了 HTTPS でのみmask置換を許可します
- Default:
false
settings.json
sandbox.credentials.awsPairs
マスクされた環境変数をグループ化して、認証情報が非標準の名前の変数に存在する場合、SigV4 再署名用に 1 つの AWS 認証情報を形成します。Claude Code は、従来の AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN トリオを全体の値をマスクする場合、自動的にリンクするため、他の名前の場合にのみこのキーが必要です。Claude Code v2.1.224 以降が必要です。
- Scope:
User or managed - Type: オブジェクトの配列。各オブジェクトは
accessKeyIdVar、secretAccessKeyVar、および optionalsessionTokenVarを含み、sandbox.credentials.envVarsエントリに名前を付けます - Default: 未設定。従来のトリオのみがペアになります
settings.json
sandbox.credentials.envVars の全体値 mask エントリである必要があり、extract または decode なしで、すべてのペアで 1 つのスロットのみを埋めることができます。以下のルールも適用されます:
- プロキシは、アクセスキー ID エントリの
injectHostsにリストされたホストでリクエストを再署名します sessionTokenVarが設定されている場合、プロキシは再署名されたリクエストで実際のトークンをx-amz-security-tokenとして送信します- ペアで従来の変数のいずれかを指定すると、自動ペアリングが置き換えられます
sandbox.credentials.sigv4
サンドボックスプロキシが 再署名できないAWS リクエスト形式で何をするかを選択します:streaming は aws-chunked ストリーミングアップロード、presigned は事前署名 URL、sigv4a は SigV4A 非対称署名です。これは、マスクされたペアのプレースホルダーアクセスキー ID で署名されたリクエストにのみ適用されます。Claude Code v2.1.224 以降が必要です。
- Scope:
User or managed - Type:
streaming、presigned、sigv4aを含むオブジェクト。各オブジェクトは以下のいずれかです:"deny": プロキシはリクエストを失敗させます"passthrough": プロキシはマスクされたプレースホルダーで署名されたリクエストを転送するため、ツールは AWS 自体の拒否を受け取ります
- Default: 未設定。すべての形式は
"deny"です
settings.json
deny の場合、プロキシはリクエストを失敗させます。passthrough の場合、プロキシはマスクされたプレースホルダーから計算された署名でリクエストを転送するため、AWS はそれを拒否し、呼び出しツールはプロキシエラーの代わりに AWS 自体のレスポンスを受け取ります。
sandbox.network
サンドボックス化されたコマンドが到達できるホスト、ポート、ソケットを制御します。サンドボックスは送信トラフィックをプロキシを通じてルーティングし、これらのリストを強制します。ネットワーク分離を参照して、プロキシがどのように決定するか、およびいつプロンプトするかを確認してください。
- Scope:
Any file。strictAllowlist、allowManagedDomainsOnly、tlsTerminateは、それらのエントリが言うように、より少ないソースから読み取られます。 - Type: 以下のサブキーを含むオブジェクト
- Default: 未設定。ドメインは事前に許可されず、新しい各ホストをどう扱うかは権限モードによって決まります
uploads.github.com がブロックされ、コマンドが localhost にバインドできます:
settings.json
WebFetch(domain:...) 許可および拒否権限ルールは同じ許可および拒否リストをフィードします。
sandbox.network.allowUnixSockets
macOS でサンドボックス化されたコマンドが接続できる Unix ソケットパスをリストします。Claude Code は Linux と WSL2 でこのリストを無視します。seccomp フィルタはソケットパスを検査できません。代わりに allowAllUnixSockets を使用します。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: 文字列の配列。各ソケットパス
- Default: 未設定。macOS サンドボックスはすべての Unix ソケットをブロックします
settings.json
/var/run/docker.sock を許可すると、サンドボックス化されたコマンドが Docker デーモンを制御できます。セキュリティ制限を参照してください。
sandbox.network.allowAllUnixSockets
サンドボックス化されたコマンドがすべての Unix ソケットに接続できるようにします。Linux と WSL2 では、サンドボックスの seccomp フィルタ は socket(AF_UNIX, ...) 呼び出しをブロックするため、これは Unix ソケットを許可する唯一の方法です。フィルタが不足している場合(/sandbox がその Dependencies タブで報告する場合)、サンドボックスは Unix ソケット呼び出しをブロックしません。Linux と WSL2 をセットアップするを参照して、フィルタがどこから来るかを確認してください。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - 型: ブール値
true: サンドボックス化されたコマンドはすべての Unix ソケットに接続できます。Linux と WSL2 では、VM ソケット(AF_VSOCKアドレスファミリー)にも接続できますfalse: サンドボックスは Unix ソケットの接続をブロックします。macOS ではallowUnixSockets内のパスを除いてブロックし、Linux と WSL2 では seccomp フィルターが存在する場合にそれを通じてブロックします
- Default:
false
settings.json
true は cmd.exe や powershell.exe などの Windows バイナリを起動する相互運用ソケットも再度開きます。
sandbox.network.allowLocalBinding
macOS でサンドボックス化されたコマンドがネットワークポートでリッスンし(開発サーバーの起動など)、localhost の任意のポートに接続できるようにします。ループバック以外のアドレスでリッスンするコマンドは、他のマシンからの接続を受け付けます。Linux と WSL2 では各サンドボックス化されたコマンドが独自のループバックインターフェースを持つため、このキーは効果がありません。Linux または WSL2 からホスト上のサーバーに到達するには、コマンドが localhost 上のサーバーに到達できないを参照してください。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: ブール値
true: macOS でサンドボックス化されたコマンドは任意のローカルアドレスでリッスンし、localhost の任意のポートに接続できますfalse: macOS でサンドボックス化されたコマンドはポートでリッスンすることも、localhost 上のサーバーに直接接続することもできません
- Default:
false
settings.json
sandbox.network.allowMachLookup
macOS サンドボックスが検索できる追加の XPC および Mach サービス名をリストします。iOS Simulator や Playwright などの XPC を通じて通信するツールは、ここにサービスをリストする必要があります。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり) - Type: 文字列の配列。各サービス名。単一の末尾
*はプレフィックスと一致し、"*"だけはすべてのサービスと一致します - Default: 未設定
com.apple.coresimulator. プレフィックスの下のすべてのサービスが許可されます:
settings.json
sandbox.network.allowedDomains
サンドボックス化されたコマンドからの送信トラフィック用にドメインを事前に許可するため、サンドボックスはそれらについてプロンプトしません。*.example.com などのワイルドカードはサブドメインと一致し、optional :port サフィックスはエントリを 1 つのポートに制限します。ポートなしのエントリはすべてのポートと一致します。
- Scope:
Any file(プロジェクト設定とローカル設定には制限あり)。allowManagedDomainsOnlyが設定されている場合、管理設定のみ。 - Type: 文字列の配列。各ドメイン、ワイルドカードパターン、または IP リテラル。optional
:portサフィックス付き - Default: 未設定。新しい各ホストをどう扱うかは権限モードによって決まります
settings.json
"[::1]" はすべてのポートを許可し、"[::1]:443" は 1 つのポートを許可します。括弧形式には Claude Code v2.1.229 以降が必要です。ドメインリストの IPv6 アドレスを参照してください。
sandbox.network.deniedDomains
allowedDomainsと同じワイルドカード、ポート、IPv6 構文を使用して、サンドボックス化されたコマンドからの送信トラフィック用にドメインをブロックします。拒否されたドメインは、allowedDomains エントリも一致する場合でもブロックされたままです。
- Scope:
Any file - Type: 文字列の配列。各ドメイン、ワイルドカードパターン、または IP リテラル。optional
:portサフィックス付き - Default: 未設定
settings.json
allowManagedDomainsOnly が設定されている場合でも、開発者は常に拒否リストを厳しくできます。IPv6 リテラルについては、ドメインリストの IPv6 アドレスを参照してください。
完全修飾ドメイン名をマークする末尾ドット(example.com. など)で書き込まれたエントリは、example.com と同じ接続をブロックします。
sandbox.network.strictAllowlist
許可リスト外のホストへのサンドボックス化されたコマンドのアクセスを、承認を求めるプロンプトを表示する代わりに拒否します。許可リストは allowedDomains と WebFetch(domain:...) 許可ルールからのドメイン、または allowManagedDomainsOnly が設定されている場合は管理設定エントリのみです。リポジトリのエントリについては、管理者必須のサンドボックスなしで適用されるロックを参照してください。Claude Code v2.1.219 以降が必要です。
- Scope:
User or managed。リポジトリはそれをオンまたはオフにできません。 - Type: ブール値
true: Claude Code は許可リスト外のホストへのサンドボックス化されたコマンドアクセスを拒否しますfalse: 別の信頼できる設定ファイルがtrueを設定しない限り、Claude Code は許可リスト外のホストを即座に拒否するのではなく、権限モードに応じて判断します:auto モードではコマンドのコマンドごとの許可ドメインに対してホストをチェックし、dontAskモードでは拒否し、bypassPermissionsモードおよびバイパスが利用可能なインタラクティブターミナルの plan モードセッションでは許可し、それ以外の場合はユーザーに確認します
- Default:
false
settings.json
WebFetch などのインプロセスツールは引き続き権限ルールに従います。尊重されるソースのいずれかが true に設定する場合、それはオンのままです。ネットワーク分離を参照してください。Claude Code v2.1.219 以降が必要です。
sandbox.network.allowManagedDomainsOnly
ネットワーク許可リストを管理設定が定義するものにロックします。Claude Code は管理設定からの allowedDomains と WebFetch(domain:...) 許可ルールのみを尊重し、ユーザー、プロジェクト、ローカル、--settings 設定からのドメインを無視し、許可されていないドメインをプロンプトする代わりに自動的にブロックします。
- Scope:
Managed - Type: ブール値
true: Claude Code は管理設定からのallowedDomainsとWebFetch(domain:...)許可ルールのみを尊重し、許可されていないドメインをプロンプトする代わりにブロックしますfalse: 他の設定ファイルからのドメインも許可リストにマージされます
- Default:
false
managed-settings.json
true の間、サンドボックスは管理者必須となり、プロキシポートを設定できるのは管理設定のみになります。
拒否されたドメインは引き続きセッションが読み込むすべてのソースからマージされます。ポリシーの拡大を開発者に防止させるを参照してください。
sandbox.network.httpProxyPort
Claude Code が実行するものの代わりに、独自の HTTP プロキシをサンドボックスに指定します。組織はこれを使用して、HTTPS トラフィックを検査したり、独自のフィルタリングルールを適用したり、リクエストをログに記録したりします。フィルタリングは独自のプロキシが引き継ぎ、Claude Code はそこに送信されるトラフィックにドメインリストとネットワークプロンプトを適用しなくなります。未設定の場合、Claude Code は HTTP トラフィック用に独自のプロキシを起動します。
- Scope:
Any file。ただし、他のサンドボックス設定によってポートを設定できるファイルが制限される場合を除きます - Type: 数値。ローカル TCP ポート
- Default: 未設定。Claude Code は独自のプロキシを実行します
settings.json
socksProxyPort も設定します。2 つのうち一方のみを設定した場合、Claude Code はもう一方のプロトコル用に引き続き独自のプロキシを実行します。カスタムプロキシ設定を参照してください。
sandbox.network.socksProxyPort
Claude Code が実行するものの代わりに、独自の SOCKS5 プロキシをサンドボックスに指定します。フィルタリングは独自のプロキシが引き継ぎ、Claude Code はそこに送信されるトラフィックにドメインリストとネットワークプロンプトを適用しなくなります。未設定の場合、Claude Code は SOCKS トラフィック用に独自のプロキシを起動します。
- Scope:
Any file。ただし、他のサンドボックス設定によってポートを設定できるファイルが制限される場合を除きます - Type: 数値。ローカル TCP ポート
- Default: 未設定。Claude Code は独自のプロキシを実行します
settings.json
sandbox.network.tlsTerminate
サンドボックスプロキシが TLS を終了して、HTTPS リクエストの内容を読み取ることができるようにします。これは実験的であり、mask 認証情報置換はそれを必要とします。{} を設定してセッション用に一時的な認証局を生成するか、caCertPath と caKeyPath を設定して独自のものを使用します。
- Scope:
User or managed。リポジトリはそれをオンにするか、認証局を提供できません。 - Type: optional
caCertPathとcaKeyPath文字列を含むオブジェクト。各ファイルパス - Default: 未設定。プロキシは TLS を終了または検査しません
settings.json
--settings フラグ、次にユーザー設定。
メモリとコンテキスト
Claude Code がコンテキストに読み込む内容、コンテキスト圧縮の方法、メモリとプランの保存場所を制御します。コンテキストの管理とメモリを参照してください。autoCompactEnabled
コンテキストが上限に近づいたときに、Claude Code が会話を自動的に圧縮するようにします。/config では Auto-compact として表示され、そこで切り替えるとこのキーがユーザー設定に書き込まれます。
- スコープ:
Any file - 型: ブール値
true: コンテキストが上限に近づくと、Claude Code は会話を自動的に圧縮しますfalse: Claude Code は自動的に圧縮しません
- デフォルト:
true - セッションごとの上書き:
DISABLE_AUTO_COMPACTは 1 つのセッションで自動圧縮をオフにします。2 つのうちどちらかがオフにした場合、もう一方でオンに戻すことはできません
settings.json
/compact コマンドは引き続き機能します。自動圧縮をオフにすると、アイドル時のコンテキスト圧縮もオフになります。
autoCompactWindow
Claude Code が自動的に圧縮する前に、コンテキストウィンドウがどこまで埋まるかを設定します。
- スコープ:
Any file - 型: トークン数、
100000から1000000まで。Claude Code はこの値をモデルのコンテキストウィンドウで上限設定します。各モデルのウィンドウはモデルの概要に記載されています - デフォルト: 未設定。この場合、Claude Code はモデルに合わせて調整されたウィンドウを選択します
- セッションごとの上書き:
--autocompactは 1 つのセッションでこのキーより優先されます。また、Claude Code が変数の値を無視する場合を除き、CLAUDE_CODE_AUTO_COMPACT_WINDOWは両方より優先されます
settings.json
/autocompact コマンドは、現在のモデル用のウィンドウを modelSettings の下に保存します。これは、そのモデルについて同じファイル内のこのキーより優先されます。コマンド、フラグ、変数、設定がどのように相互作用するかについては、自動圧縮ウィンドウを設定するで説明しています。
autoMemoryDirectory
自動メモリを、プロジェクトごとのデフォルトではなく任意のディレクトリに保存します。
- スコープ:
Any file - 型: 文字列。絶対パス、または
~/で始まるディレクトリパス - デフォルト: 未設定。この場合、Claude Code は
~/.claude/projects/<project>/memory/を使用します
settings.json
autoMemoryEnabled
自動メモリをオンまたはオフにします。false の場合、Claude は自動メモリディレクトリの読み取りも書き込みも行いません。セッション中に /memory で切り替えることもでき、その場合はこのキーがユーザー設定に書き込まれます。
- スコープ:
Any file - 型: ブール値
true: 未設定と同じです。--bare、セーフモード、CLAUDE_CODE_DISABLE_AUTO_MEMORYなど、このキーより優先されるものがセッションでオフにしない限り、自動メモリはオンのままですfalse: Claude は自動メモリディレクトリの読み取りも書き込みも行いません
- デフォルト:
true - セッションごとの上書き:
CLAUDE_CODE_DISABLE_AUTO_MEMORYは、どちらの方向でも 1 つのセッションでこのキーより優先されます
settings.json
bashOutputMaxChars
成功した Bash または PowerShell コマンドの出力のうち、Claude がインラインで受け取る文字数を設定します。出力が上限を超えると、Claude Code はそれをファイルに保存し、Claude は短いプレビューとファイルのパスを受け取ります。詳細なビルドやテストスイート全体のログなど、コマンドの出力がデフォルトを日常的に超え、Claude にファイルを開かずに読ませたい場合は、上限を引き上げてください。Claude Code v2.1.261 以降が必要です。
- スコープ:
Any file - 型: 文字数、正の整数。Claude Code は値を
4000から128000の範囲に収めます - デフォルト: 未設定。この場合、Claude はインラインで最大 30,000 文字を受け取ります
settings.json
BASH_MAX_OUTPUT_LENGTH 環境変数を無視します。
claudeMd
別のファイルをデプロイせずに、CLAUDE.md 形式の指示を組織管理のメモリとして挿入します。Claude Code は、このテキストを管理メモリのエントリとして、ユーザーおよびプロジェクトの CLAUDE.md ファイルより先に読み込みます。
- スコープ:
Managed - 型: 文字列。CLAUDE.md ファイルのテキストです。markdown を含め、ファイルと同じように記述し、改行は
\nとします - デフォルト: 未設定
managed-settings.json
claudeMdExcludes
Claude Code がメモリを読み込む際に、特定の CLAUDE.md ファイルをスキップします。大規模なモノレポでは、自分の作業に関係のない他チームの CLAUDE.md ファイルをスキップするために使用します。大規模コードベースのガイドの関係のない CLAUDE.md ファイルを除外するで、このケースを詳しく説明しています。パターンは絶対ファイルパスに対してマッチします。
- スコープ:
Any file - 型: 文字列の配列。各要素は glob パターンまたは絶対パスです
- デフォルト: 未設定。この場合、Claude Code は見つかったすべての CLAUDE.md を読み込みます
settings.json
env
すべてのセッションと、そのセッションから Claude Code が起動するサブプロセスに環境変数を設定します。環境変数リファレンスにあるほとんどの変数はここに記述でき、これによって変数をすべてのセッションに適用したり、チームに展開したりできます。プロジェクト設定とローカル設定では、一部の変数を設定できません。
- スコープ:
Any file - 型: 変数名を文字列値にマッピングするオブジェクト
- デフォルト: 未設定
settings.json
env の値とシェルの相互作用
- ここで指定した値は、シェルでエクスポートされた同じ変数を上書きします。複数の設定ファイルが同じ変数を設定している場合は、優先順位が最も高いものが適用されます。プロジェクト設定とローカル設定の例外は、Claude Code が
envで無視する変数に記載しています。 - Claude Desktop アプリまたはセルフホスト環境のランナーがセッションを開始する場合は、代わりにそれが構築する起動環境が優先されます。起動環境がすでに設定している変数については、Claude Code はどの設定ファイルの
envの値も無視します。無視された各変数はデバッグログに記載されます。 - シェルのエクスポートを取り消すには、変数を
""に設定します。Claude Code はプロバイダーの選択において空の値を未設定として扱い、サブプロセスは空の値を継承します。 - ここで設定した
NO_COLORとFORCE_COLORは、サブプロセスにのみ反映されます。Claude Code 自体のインターフェースのカラーを変更するには、claudeを起動する前にシェルで設定してください。 - ここに記述した値は設定ファイル内のプレーンテキストであり、Claude Code が起動するすべてのサブプロセスに渡されます。ローテーションする OTLP ベアラートークンには
otelHeadersHelperを、API の認証情報にはapiKeyHelperを使用してください。
Claude Code が env の値を適用するタイミング
- ユーザー設定、
--settings、管理設定からの値: 起動時、および保存された変更によってマージ後のenvが変わったときに実行中のセッションで再度適用されます。 - プロジェクト設定とローカル設定からの値: ワークスペースを信頼した後、または信頼ダイアログを表示しない
-pモードでは起動時に適用され、保存された変更によってマージ後のenvが変わったときに再度適用されます。 - モデルの選択、タイムアウトと制限、機能の切り替えなど、Claude Code が安全と分類する変数: プロジェクト設定とローカル設定で設定できない変数を除き、起動時にすべての設定ファイルから適用されます。
- v2.1.246 以降で
/cdでセッションを移動した後: 以前のディレクトリの値に加えて、新しいディレクトリのプロジェクトとローカルのenvの値が適用されます。
Claude Code が env で無視する変数
-
プロジェクト設定とローカル設定では、チェックアウトしたリポジトリが制御すべきでない変数を設定できません。これらはシェル、ユーザー設定、または管理設定で設定してください。テレメトリをオフにするいくつかの値を除き、Claude Code はこれらをそれぞれ破棄し、
claude --debugで確認できる警告をログに記録します。対象には次のものが含まれます。-
Claude Code が自身のファイルを保存または書き込む場所を選択する変数:
CLAUDE_CONFIG_DIR、CLAUDE_CODE_TMPDIR、およびオペレーティングシステムのディレクトリ変数(HOME、TMPDIR、TMP、TEMP、XDG_*ファミリーなど)。 -
Claude Code が起動するプロセスのプログラムやマシン全体の設定を選択する Windows の変数(
SystemRoot、ComSpec、ProgramData、LOCALAPPDATA、PATHEXT、PSModulePath、ProgramFilesファミリーなど)。 -
セッションの内容をエクスポートする変数:
OTEL_LOG_RAW_API_BODIES、および詳細なベータトレースのペアであるENABLE_BETA_TRACING_DETAILEDとBETA_TRACING_ENDPOINT。 -
テレメトリをオンにする、送信先を選択する、またはキャプチャする内容を選択する OpenTelemetry エクスポーターの変数:
CLAUDE_CODE_ENABLE_TELEMETRY、および拡張テレメトリのベータのペアであるCLAUDE_CODE_ENHANCED_TELEMETRY_BETAとENABLE_ENHANCED_TELEMETRY_BETA- エクスポーターのセレクターである
OTEL_LOGS_EXPORTER、OTEL_METRICS_EXPORTER、OTEL_TRACES_EXPORTER - 内容に関する変数である
OTEL_LOG_USER_PROMPTS、OTEL_LOG_ASSISTANT_RESPONSES、OTEL_LOG_TOOL_CONTENT、OTEL_LOG_TOOL_DETAILS - 名前が
_ENDPOINT、_HEADERS、_PROTOCOL、_CERTIFICATE、_CLIENT_KEY、または_INSECUREで終わるOTEL_EXPORTER_OTLP_*変数(汎用形式とシグナルごとの形式の両方。OTEL_EXPORTER_OTLP_ENDPOINTやOTEL_EXPORTER_OTLP_METRICS_HEADERSなど) OTEL_EXPORTER_PROMETHEUS_HOSTとOTEL_EXPORTER_PROMETHEUS_PORT
none、およびOTEL_LOG_USER_PROMPTS、OTEL_LOG_TOOL_CONTENT、OTEL_LOG_TOOL_DETAILSに対する0などのオフの値です。このような値はユーザー設定にある同じ変数を上書きしますが、Claude Code を起動した環境、--settingsファイル、または管理設定で設定された変数は上書きしません。 プロジェクトまたはローカルの設定ファイルがこのグループの変数を設定している場合、ローカルの対話型セッションでは起動時に通知が表示されます。/statusまたはclaude doctorを実行すると、Claude Code がどの変数を無視し、どの変数がテレメトリをオフにしたかを確認できます。どちらも名前のみを表示し、値は表示しません。-pによる非対話型の実行や Agent SDK のセッションでは通知が表示されないため、アップグレード後にコレクターが引き続きデータを受信していることを確認してください。受信していない場合は、ユーザー設定、管理設定、ジョブの環境、または--settingsで渡すファイルで変数を設定してください。 プロジェクト設定とローカル設定でこのグループを無視する動作には、Claude Code v2.1.282 以降が必要です。 -
Claude Code の起動方法や同期方法を変更する変数(
CLAUDE_CODE_PROCESS_WRAPPER、CLAUDE_CODE_SYNC_SKILLS、CLAUDE_CODE_SYNC_PLUGINS、CLAUDE_CODE_PLUGIN_CACHE_DIR、CLAUDE_CODE_PLUGIN_SEED_DIRなど)。 -
スクリーンリーダーモードの変数
CLAUDE_AX_SCREEN_READER、および名前がCLAUDE_AX_で始まるその他の変数(CLAUDE_AX_STARTUP_QUIET_MSなど)。 -
応答のないダイアログのタイマーを設定する
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS。 -
添付ファイルの処理をオフにする
CLAUDE_CODE_DISABLE_ATTACHMENTS。 -
Claude Code がファイルやディレクトリの
@メンションを展開しないようにするCLAUDE_CODE_DISABLE_FILE_MENTIONS。
HOMEとXDG_CONFIG_HOMEを除く)。v2.1.290 より前は、ダイアログのタイマー変数とCLAUDE_CODE_DISABLE_ATTACHMENTSも設定できました。 -
Claude Code が自身のファイルを保存または書き込む場所を選択する変数:
-
CLAUDE_CODE_REMOTEやCLAUDE_CODE_ACCOUNT_UUIDなど、Claude Code のホスティング環境が所有する ID 変数は、すべてのファイルで無視されます。 -
Claude Code 自身がエクスポートする
CLAUDE_CODE_MESSAGING_SOCKETとCLAUDE_CODE_MESSAGING_TOKENは、すべてのファイルで無視されます。ソケット変数を無視する動作には Claude Code v2.1.224 以降が、トークンを無視する動作には v2.1.228 以降が必要です。 -
Claude Code が起動環境からのみ読み取る
CLAUDE_CODE_PROJECT_DIR_NAMEは、すべてのファイルで無視されます。v2.1.234 以降が必要です。 -
Claude Code が起動環境からのみ読み取る
CLAUDE_CODE_RESTRICTEDは、すべてのファイルで無視されます。 -
Claude Code が起動環境からのみ読み取る
CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENYは、すべてのファイルで無視されます。この変数には Claude Code v2.1.283 以降が必要です。 -
Claude Code が起動環境からのみ読み取る
CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT、CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT、CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT、CLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPTは、すべてのファイルで無視されます。 -
Claude Code が起動環境からのみ読み取る
CLAUDE_CODE_WARN_DISK_FREE_GIBとCLAUDE_CODE_WARN_MEMORY_FREE_GIBは、すべてのファイルで無視されます。これらの変数には Claude Code v2.1.304 以降が必要です。
fileCheckpointingEnabled
/rewind で復元できるよう、Claude Code が各編集の前にファイルのスナップショットを取るようにします。/config では Rewind code (checkpoints) として表示され、そこで切り替えるとこのキーがユーザー設定に書き込まれます。
- スコープ:
Any file - 型: ブール値
true:/rewindで復元できるよう、Claude Code は各編集の前にファイルのスナップショットを取りますfalse: Claude Code はファイルのスナップショットを取らないため、/rewindで復元できません
- デフォルト:
true - セッションごとの上書き:
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTINGは 1 つのセッションでチェックポイント機能をオフにします。2 つのうちどちらかがオフにした場合、もう一方でオンに戻すことはできません
settings.json
-p の実行や Agent SDK のセッションでは、Claude Code はこのキーを無視します。SDK では enableFileCheckpointing オプションでチェックポイント機能をオンにし、単純な -p の実行では CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true が必要です。Agent SDK のファイルチェックポイント機能を参照してください。
idleCompaction
アイドル時のコンテキスト圧縮は、ユーザーが離席している長い会話を圧縮します。これにより、次のメッセージでは会話全体ではなく要約が送信されます。圧縮されると、会話に次の通知が表示されます。
- ターミナル:
Compacted while idle, before the prompt cache expiredで始まる行 - VS Code のチャットパネル:
a summary written while you were awayを含む通知 - デスクトップアプリ: 同じ通知が、ラベルに
Claude Code noticeを含む行の中に表示されます。その行やテキストが表示されない場合は、Verbose 表示モードに切り替えてください。
- セッション: 対話型のターミナルセッションを使用している、または Anthropic が選択したアカウントで VS Code 拡張機能のチャットパネルかデスクトップアプリの Code タブを使用している
- 自動圧縮:
autoCompactEnabledがオンになっている - プロンプトキャッシュ: 会話が 1 時間のプロンプトキャッシュ TTL を使用している
- 機能フラグ: Claude Code が Anthropic から機能フラグを取得できる
- サイズ: 会話のコンテキストがトークンのしきい値に達している。しきい値はデフォルトの 200,000 から変更できます
- アイドル時間: 最後のリクエストから約 54 分が経過しており、その時点でコンピューターがスリープしていない
false に設定します。
- スコープ:
Any file - 型: ブール値
true: Claude Code は条件を満たすアイドル状態の会話を圧縮しますfalse: セッションがアイドル状態の間、Claude Code は圧縮しません
- デフォルト:
true - セッションごとの上書き:
DISABLE_AUTO_COMPACTは、自動圧縮とともにアイドル時のコンテキスト圧縮もオフにします
settings.json
/config を実行して Idle compaction の行を変更します。選択内容はユーザー設定に保存され、すぐに適用されます。この行には Claude Code v2.1.302 以降が必要です。これらのバージョンを実行していて /config にこの行が表示されない場合は、次の原因を確認してください。
- 別の設定ソースがキーを設定している: 管理設定、
--settingsフラグ、またはプロジェクトやローカルの設定ファイルの値がユーザー設定を上書きしています。代わりにそのソースでキーを変更してください - 機能フラグが利用できない: Claude Code が Anthropic から機能フラグを取得できない場合、アイドル時のコンテキスト圧縮は実行されないため、オフにする対象がありません
autoCompactEnabled をオフにしてアイドル時のコンテキスト圧縮を停止してください。
アイドル時のコンテキスト圧縮のしきい値を変更する
CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS に、アイドル時のコンテキスト圧縮が適用されるまでに会話のコンテキストが到達する必要のあるトークン数を設定します。正の整数を使用してください。100000 未満の値は、最小のしきい値である 100000 に引き上げられます。
デフォルトでは、200K のコンテキストウィンドウを使用する会話は 200,000 トークンに達する前に自動圧縮されます。この例では、しきい値を 150,000 に下げて、そうした会話が対象になるようにします。
settings.json
VS Code とデスクトップアプリでのアイドル時のコンテキスト圧縮
次のような通知は、Claude Code が以前の会話を要約に置き換え、Claude が現在その要約をもとに作業していることを意味します。~/.claude/settings.json または別の設定ファイルで idleCompaction を false に設定します。
VS Code 拡張機能のチャットパネルとデスクトップアプリの Code タブでは、アイドル時のコンテキスト圧縮は Anthropic が選択したアカウントで実行されます。Claude Code はユーザーの離席中に要約を作成し、次のメッセージが最後のリクエストから 1 時間以上経過して送信された場合にのみ、その要約を使って圧縮します。
plansDirectory
plan モードで Claude Code が書き込むプランファイルの保存場所を選択します。Claude Code はプロジェクトルートを基準にパスを解決します。
- スコープ:
Any file - 型: 文字列。プロジェクトルートからの相対パス
- デフォルト: 未設定。この場合、Claude Code は
~/.claude/plansを使用します
settings.json
~/.claude/plans にプランを保存します。
- プロジェクトルートの外:
"../plans"のように、パスがプロジェクトルートの外に解決される場合。 - macOS、Linux、WSL でのバックスラッシュ: Windows 形式の
"docs\\plans"のように、解決されたパスにバックスラッシュが含まれる場合。Windows でも機能する"docs/plans"と記述してください。
skillListingBudgetFraction
Claude は各ターンで、説明付きのスキルの一覧を参照します。Claude Code はその一覧をコンテキストウィンドウの一定割合に制限します。一覧が上限を超えると、Claude Code はすべてのスキルの名前を保持しつつ、使用頻度の低いスキルの説明を削除します。そのため、Claude はそれらのスキルを引き続き呼び出せますが、自発的に選択する可能性は低くなります。ターンごとのコンテキスト消費が増える代わりに、より多くの説明を表示し続けたい場合は、このキーの値を引き上げてください。
- スコープ:
Any file - 型: 数値。
0より大きく1以下の割合 - デフォルト:
0.01。コンテキストウィンドウの 1% を確保します
settings.json
/doctor を実行してください。
skillListingMaxDescChars
Claude は各ターンで、各スキルの description と when_to_use のテキストを示すスキルの一覧を参照します。このキーは、Claude Code がスキルごとに表示するそのテキストの文字数を制限します。これより長いテキストは上限で切り詰められます。
- スコープ:
Any file - 型: 文字数、正の整数
- デフォルト:
1536
settings.json
skillListingBudgetFraction の範囲内により多くのスキルを収めたい場合は値を引き下げてください。
taskOutputMaxChars
v2.1.276 までは、Claude が TaskOutput ツールでタスクを読み取る際にインラインで受け取るバックグラウンドタスクの出力の文字数を、このキーに設定していました。
インターフェースとターミナル
ターミナルでの Claude Code の見た目と動作を変更します。テーマ、エディターモード、ステータスライン、スピナー、セッション内の通知、アクセシビリティが対象です。ターミナル設定を参照してください。askUserQuestionTimeout
回答されていない AskUserQuestion ダイアログを、一定時間操作がなかった後に自動で続行させ、その時点で選択済みのオプションを送信します。席を外している間も Claude に作業を続けさせたい場合に設定します。デフォルトでは、質問は回答されるまで待機します。タイマーが一時停止する場合や開始しない場合については、質問の自動続行タイムアウトを参照してください。
- スコープ:
User or managed - 型: 文字列。
"60s"、"5m"、"10m"、"never"のいずれか - デフォルト:
"never"
settings.json
/config では Question auto-continue timeout として表示され、このキーをユーザー設定に書き込みます。管理設定または --settings フラグでこのキーが設定されている間、Claude Code はこの行を非表示にします。
autoContinueAtUsageLimit
claude.ai の使用制限によってセッションが停止した後、開いているセッションで待機し、リセット後にタスクを自動的に続行します。自動続行をオフにするを参照してください。Claude Code v2.1.234 以降が必要です。
- スコープ:
User or managed。ユーザー設定、--settings、管理設定からのみ読み取られます。これらのいずれでもキーが設定されていない場合、プロジェクト設定ファイルまたはローカル設定ファイルでこのキーを設定すると、無視されるのではなく機能がオフになります。 - 型: Boolean
true: claude.ai の使用制限によってセッションが停止した後、Claude Code は開いているセッションで待機し、リセット後にタスクを自動的に続行しますfalse: Claude Code は自動的には待機を開始しません。使用制限のオプションメニューから自分で待機を開始することは引き続き可能です
- デフォルト:
true
settings.json
/config では Continue automatically at usage limit として表示され、このキーをユーザー設定に書き込みます。管理設定または --settings フラグでこのキーが設定されている間、Claude Code はこの行を非表示にします。
autoScrollEnabled
フルスクリーンレンダリングで、新しい出力に追従して会話の末尾までスクロールします。オフにすると、Claude が作業を続けている間もスクロールした位置にとどまります。権限プロンプトは引き続きスクロールして表示領域に入ります。
- スコープ:
Any file - 型: Boolean
true: 会話は新しい出力に追従して末尾までスクロールしますfalse: Claude が作業を続けている間も、スクロールした位置にとどまります。権限プロンプトは引き続きトランスクリプトの下に表示されます
- デフォルト:
true
settings.json
/config では Auto-scroll として表示され、このキーをユーザー設定に書き込みます。
axScreenReader
スクリーンリーダーに適した出力、つまり装飾的な枠線やアニメーションのないフラットなテキストをレンダリングします。スクリーンリーダーモードはクラシックレンダラーを使用するため、有効な間は tui 設定は効果がありません。アタッチされたバックグラウンドセッションは引き続きフルスクリーンでレンダリングされます。
- スコープ:
User or managed。--settingsで渡すファイルでこのキーを設定することもできます。Claude Code はプロジェクト設定とローカル設定にあるこのキーを無視するため、リポジトリも、ユーザー自身の.claude/settings.local.jsonも、スクリーンリーダーモードをオンまたはオフにすることはできません。 - 型: Boolean
true: Claude Code はクラシックレンダラーを使用し、装飾的な枠線やアニメーションのないフラットなテキストをレンダリングしますfalse: Claude Code は通常どおりレンダリングします
- デフォルト: 未設定。スクリーンリーダーモードはオフです
- セッションごとの上書き: 1 つのセッションについては、
--ax-screen-readerがCLAUDE_AX_SCREEN_READERより優先され、どちらもこのキーより優先されます
settings.json
bashEditDiffEnabled
Bash コマンドの実行中に Git リポジトリ内のどのファイルが変更されたかを Claude Code が記録するかどうかを選択します。記録する場合、コマンドの後にターミナルでその差分が表示され、PostToolUse Bash フックは変更されたファイルのリストを受け取ります。
リストに含まれるファイルが、必ずしもそのコマンドによって変更されたものとは限りません。コマンドの実行中に別のプログラムや別の Bash 呼び出しが行った変更も含まれることがあります。
すべての権限モードで記録するには、キーを true に設定します。Claude Code v2.1.269 以降が必要です。
- スコープ:
User or managed。trueはユーザー設定、--settingsで渡された JSON、または管理設定からのものだけが有効になるため、リポジトリの.claude/settings.jsonや.claude/settings.local.jsonにあるtrueでは記録をオンにできません。いずれかのリポジトリファイルにあるfalseは、優先順位のより高いファイルでtrueが設定されていない限り、記録をオフにします。 - 型: Boolean
- デフォルト: 未設定。Claude Code は、auto モードと
bypassPermissionsモードにおいて、Bash を通じてファイルを編集するよう Claude に指示した場合に変更を記録します - セッションごとの上書き: 1 つのセッションについては、
CLAUDE_CODE_BASH_EDIT_DIFFがこのキーより優先されます
settings.json
companyAnnouncements
起動時に組織からのお知らせをユーザーに表示します。複数指定した場合、Claude Code はセッションごとにランダムに 1 つを選びます。ユーザーが初めて起動したときは最初のエントリを表示します。
- スコープ:
Any file - 型: 文字列の配列
- デフォルト: 未設定。お知らせは表示されません
settings.json
defaultShell
入力ボックスで ! プレフィックスを付けて入力したシェルコマンド、つまり Claude Code が直接実行してセッションに追加するコマンドを、Bash と PowerShell のどちらで実行するかを選択します。
"powershell" は PowerShell ツールがオンの場合にのみ機能します。このツールは、Git Bash のない Windows ではデフォルトでオンになり、Git Bash のある Windows では claude.ai アカウントと Console アカウントの場合にデフォルトでオンになります。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry のセッション、および macOS、Linux、WSL では、CLAUDE_CODE_USE_POWERSHELL_TOOL=1 を設定してツールをオンにします。この変数を 0 に設定するとツールがオフになります。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"bash": Claude Code は!コマンドを Bash で実行します"powershell": Claude Code は!コマンドを PowerShell で実行します
- デフォルト:
"bash"。Bash が利用できない Windows では"powershell"
settings.json
"powershell" は Bash にフォールバックし、Bash がインストールされていない場合 "bash" は PowerShell にフォールバックします。
dialogExpiry
Claude Code が Remote Control や SDK ホストなどのリモートクライアントに転送するダイアログ、および保留されたクロスセッションメッセージの承認ダイアログの期限を設定します。Claude Code v2.1.236 以降では、ターミナルに誰もいない可能性のあるセッションにおいて、セッション途中の Fable 使用クレジットの同意プロンプトにも同じ期限が適用されます。期限までに回答がない場合、Claude Code はダイアログをキャンセルし、何もしないデフォルトの動作で続行します。Claude Code v2.1.224 以降が必要です。
- スコープ:
User or managed - 型: 文字列。
"60s"、"5m"、"10m"、または期限を無効にする"never"のいずれか - デフォルト:
"5m" - セッションごとの上書き: 1 つのセッションについては、
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MSがこのキーより優先されます
settings.json
AskUserQuestion の質問は独自のフローを使用するため、この期限の対象にはなりません。/config では Dialog expiry として表示され、このキーをユーザー設定に書き込みます。この行には Claude Code v2.1.232 以降が必要で、管理設定または --settings フラグでこのキーが設定されている間、Claude Code はこの行を非表示にします。
editorMode
入力プロンプトのキーバインドモードを選択します。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"normal": プロンプト入力での標準的なキーバインド"vim": NORMAL、INSERT、VISUAL モードを備えた vim スタイルの編集
- デフォルト:
"normal"
settings.json
/config では Editor mode として表示され、このキーをユーザー設定に書き込みます。
emojiCompletionEnabled
プロンプト入力で : に続けてショートコードを入力したときに絵文字の候補を表示し、:heart: のような完成したショートコードを対応する絵文字に置き換えます。両方をオフにするには false に設定します。
- スコープ:
Any file - 型: Boolean
true: Claude Code は:の後に絵文字の候補を表示し、完成したショートコードを絵文字に置き換えますfalse: Claude Code は絵文字の候補を表示せず、ショートコードの置き換えも行いません
- デフォルト:
true
settings.json
fileSuggestion
組み込みのファイル候補の代わりに、独自のコマンドを実行して @ ファイルパスのオートコンプリートを提供します。組み込みの候補は高速なファイルシステム走査を使用しますが、大規模なモノレポでは、事前にビルドされたファイルインデックスのようなプロジェクト固有のインデックスを使用したほうがうまくいく場合があります。
- スコープ:
Any file。ステータスラインとファイル候補のゲートの下では、Claude Code はコマンドをオフにするか管理設定の値のみを実行し、ユーザーのコマンドは警告なしにスキップします。 - 型: 常に
"command"であるtypeと、実行するシェルコマンドであるcommandを持つオブジェクト - デフォルト: 未設定。Claude Code は組み込みのファイル候補を使用します
settings.json
@ に続けてパスの一部を入力すると、コマンドの出力から候補が表示されます。
コマンドの入力と出力
Claude Code は、CLAUDE_PROJECT_DIR を含め、フックと同じ環境変数でコマンドを実行し、5 秒後に待機を打ち切ります。コマンドは、それまでに入力された内容を保持する query フィールドを含む JSON を stdin で受け取ります。
footerLinksRegexes
正規表現がターンの出力(ファイルの内容や取得したページを含むツールの結果、および Claude 自身の応答)に一致したとき、入力ボックスの下のフッターにクリック可能なバッジを追加でレンダリングします。レビューツールや課題トラッカーなどのプロジェクトの CLI が出力する ID を、セッション内のリンクに変換するために使用します。
- スコープ:
User or managed - 型: オブジェクトの配列。各オブジェクトは
"regex"に設定されたtype、正規表現のpattern、urlテンプレート、およびオプションのlabelを持ちます。urlとlabel内の{name}プレースホルダーは、patternの名前付きキャプチャグループから埋められます - デフォルト: 未設定。バッジはレンダリングされません
PROJ-1234 のような課題キーに一致させ、キャプチャしたキーから各リンクを構築します。
settings.json
PROJ-1234 が現れると、https://issues.example.com/browse/PROJ-1234 にリンクする PROJ-1234 バッジがフッターに表示されます。
バッジの制約
各エントリの URL、ラベル、バッジの数には次の制限があります。
ターンが完了すると、Claude Code はメインスレッド上で各エントリの
pattern 正規表現をターンの出力に照合するため、遅い正規表現は完了するまで UI をブロックします。(a+)+$ のようなネストされた量指定子は、特定の入力に対して指数関数的に時間がかかり、セッションをフリーズさせることがあるため、各 pattern は線形に保ち、+ や * のネストは避けてください。
カスタムステータスラインが設定されている場合、フッターバッジはそれと並んでレンダリングされ、どちらも他方を置き換えることはありません。セッションデータから独自に内容を計算するスクリプト駆動の行にはステータスラインを使用し、スクリプトなしで会話中の ID をリンクに変換するにはフッターバッジを使用します。
keybindingFlavor
v2.1.238 から v2.1.260 では、これを "readline" に設定すると、Ctrl+W が直前の単語だけでなく直前の空白までを削除するようになりました。
- スコープ:
Any file - 型: 文字列。
"classic"または"readline" - デフォルト: 未設定
maxProseWidth
Claude の応答に含まれる文章の幅に上限を設け、幅の広いターミナルでも行を読みやすく保ちます。段落、見出し、リスト、引用ブロックはこのカラム数の範囲内で折り返され、表とコードブロックはターミナルの全幅を維持します。Claude Code v2.1.282 以降が必要です。
- スコープ:
Any file - 型: ターミナルのカラム数。整数で、最小値は
40。Claude Code はそれ以外の値を無視します - デフォルト: 未設定。文章はターミナルの端で折り返されます
settings.json
prefersReducedMotion
スピナー、シマー、フラッシュ効果などのインターフェースのアニメーションを抑えるか、オフにします。/config では Reduce motion として表示されます。
- スコープ:
Any file - 型: Boolean
true: Claude Code はスピナー、シマー、フラッシュ効果などのインターフェースのアニメーションを抑えるか、オフにしますfalse: 未設定と同じです。Claude Code はアニメーションを表示します
- デフォルト:
false
settings.json
promptSuggestionEnabled
プロンプト入力に表示されるグレーアウトされた予測であるプロンプト候補の表示・非表示を切り替えます。非表示にするには、false に設定するか、/config で Prompt suggestions をオフにします。
- スコープ:
Any file - 型: Boolean
true: プロンプト入力にプロンプト候補が表示されますfalse: Claude Code はプロンプト候補を非表示にします
- デフォルト:
true - セッションごとの上書き: 1 つのセッションについては、
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONがこのキーより優先されます
settings.json
DISABLE_TELEMETRY などでテレメトリがオフになっている場合、このキーは効果がなく、CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 でのみオンにできます。
respectGitignore
@ ファイルピッカーが .gitignore のパターンに一致するファイルを除外するかどうかを制御します。/config では Respect .gitignore in file picker として表示されます。
- スコープ:
Any file。どの設定ファイルでも設定されていない場合、Claude Code は/configのトグルが書き込む~/.claude.json内のrespectGitignoreにフォールバックします。 - 型: Boolean
true:@ファイルピッカーは.gitignoreのパターンに一致するファイルを除外しますfalse:@ファイルピッカーは.gitignoreのパターンに一致するファイルを含めます
- デフォルト:
true
settings.json
respondToBashCommands
入力ボックスで ! プレフィックスを付けてシェルコマンドを実行した後に、Claude が応答するかどうかを選択します。デフォルトでは、Claude Code はコマンドの出力を会話に追加し、Claude がそれに応答します。このキーを false に設定すると、応答なしで出力がコンテキストに追加されるため、複数のコマンドを実行してからまとめて質問できます。
- スコープ:
Any file - 型: Boolean
true: Claude Code はコマンドの出力を会話に追加し、Claude がそれに応答しますfalse: Claude Code は応答なしで出力をコンテキストに追加します
- デフォルト:
true
settings.json
! プレフィックスによるシェルモードを参照してください。
showClearContextOnPlanAccept
plan モードで Claude が計画を完成させると、承認メニューが表示されます。計画には多くのコンテキストが使われることがあるため、このキーはそのメニューに最初のオプションとして Yes, clear context and … を追加します。このオプションは計画を承認し、会話のコンテキストをクリアして、計画のみに基づいて実装を開始します。ラベルの残りの部分には、セッションが続行する権限モードと、計画にどれだけのコンテキストが使われたかが表示されます。
- スコープ:
Any file - 型: Boolean
true: 計画の承認メニューに、計画を承認して会話のコンテキストをクリアする最初のオプション Yes, clear context and … が追加されますfalse: 計画の承認メニューにコンテキストをクリアするオプションは表示されません
- デフォルト:
false
settings.json
showTurnDuration
各応答の後に表示されるターンの所要時間メッセージ(「Cooked for 1m 6s · done 6:05 PM」など)の表示・非表示を切り替えます。「done」の後の時刻はターンが終了した時刻を示し、その形式とタイムゾーンは timeFormat と timeZone で制御します。/config では Show turn duration として表示されます。
- スコープ:
Any file。どの設定ファイルでも設定されていない場合、古いバージョンによる~/.claude.json内の値が適用されます。 - 型: Boolean
true: 各応答の後にターンの所要時間メッセージが表示されますfalse: Claude Code はターンの所要時間メッセージを非表示にします
- デフォルト:
true
settings.json
spellcheck
インストールしたスペルチェッカーを使用して、入力中のプロンプト入力内のスペルミスに下線を引きます。Claude Code がチェックするのは入力ボックス内のテキストのみです。aspell、hunspell、ispell のインストール方法とチェッカーの対象範囲については、入力中にスペルをチェックするを参照してください。Claude Code v2.1.235 以降が必要です。
- スコープ:
User or managed。これを設定している最上位の階層のブロック全体が適用されます。 - 型:
enabled(Boolean)、checker("aspell"、"hunspell"、"ispell"、または"auto")、language(文字列。辞書名としてチェッカーに渡されます)、color(文字列。ターミナルのカラー名、#rrggbb、rgb(r,g,b)、ansi256(n)、またはansi:<name>)を持つオブジェクト - デフォルト: 未設定。スペルチェックはオフです。
checkerのデフォルトは"auto"で、PATH上で最初に見つかった 3 つのうちのいずれかです。languageのデフォルトはチェッカー自身の辞書です。colorのデフォルトはテーマのエラーカラーです
settings.json
spinnerTipsEnabled
Claude の作業中、スピナーの行には Claude Code の機能に関する短いヒント(「Use Plan Mode to prepare for a complex request before making changes. Press Shift+Tab twice to enable.」など)が順に表示されます。これらを非表示にするには、このキーを false に設定します。/config では Show tips として表示されます。
- スコープ:
Any file - 型: Boolean
true: Claude の作業中、スピナーにヒントが表示されますfalse: Claude Code はスピナーのヒントを非表示にします
- デフォルト:
true
settings.json
spinnerTipsOverride
Claude の作業中に Claude Code が表示するスピナーのヒントに独自のヒントを追加するか、組み込みのヒントを独自のものに置き換えます。Claude Code は独自のヒントを組み込みのヒントと同じローテーションに入れます。
spinnerTipsEnabled を false に設定すると、Claude Code は独自のヒントも含めてすべてのヒントを非表示にします。
- スコープ:
Any file。Claude Code は、ユーザー設定、--settingsフラグ、管理設定からのヒントオブジェクト、tipsFile、label、excludeDefaultを受け入れます。プロジェクト設定とローカル設定からは、プレーンな文字列のヒントのみを読み取ります。 - 型:
tips、tipsFile、label、excludeDefaultフィールドを持つオブジェクト。各フィールドはオプションです - デフォルト: 未設定。Claude Code は組み込みのヒントのみを表示します
tipsFile、label、およびプロジェクト設定とローカル設定はプレーンな文字列のみを提供するというスコープの規則には、Claude Code v2.1.247 以降が必要です。
各 tips エントリは、プレーンな文字列か、次のフィールドを持つオブジェクトです。
Claude Code はプレーンな文字列を、これらのデフォルト値と位置に基づく id を持つヒントとして読み取るため、リストの順序を変更するとその表示履歴はリセットされます。編集をまたいで履歴を保持するには、ヒントに
id を付けてください。
Claude Code が読み取るヒントは tips と tipsFile を合わせて最大 200 件で、無効なエントリは設定ファイルを拒否するのではなく、デバッグ警告とともに破棄します。
残りのフィールドを使用して、ヒントファイルの指定、プレフィックスの設定、組み込みのヒントの非表示を行います。
tipsFile: 同じエントリの配列、またはtips配列を持つオブジェクトを保持するローカル JSON ファイルへの絶対パスまたは~/パス。最大 256 KB です。Claude Code はファイルをプロセスごとに 1 回読み取るため、編集内容は次回の起動時に読み込まれます。サーバー管理設定では設定できません。サーバー管理設定ではインラインのtipsをデプロイするか、ディスク上のmanaged-settings.jsonでパスをデプロイしてください。label: ユーザー設定、--settings、管理設定からのヒントの前に Claude Code が表示するプレフィックス。最大 40 文字です。デフォルトは組み込みのヒントと同じプレフィックスのTipで、プロジェクト設定とローカル設定からのヒントには常にこれが使われます。excludeDefault:trueに設定すると、組み込みのヒントを非表示にして独自のヒントのみを表示します。tipsFileが存在しない、またはすべてのエントリが無効であるなどの理由で Claude Code が独自のヒントを 1 つも読み込めない場合、空のスピナーではなく組み込みのローテーションを維持します。
tipsFile、label、excludeDefault はそれぞれ、管理設定、--settings フラグ、ユーザー設定のうち、それを設定している最も優先順位の高いものから取得します。
この例はユーザー設定に記述するもので、Acme tip プレフィックスの下で、プレーンな文字列のヒントとオブジェクトのヒントをローテーションに追加します。
settings.json
label: Claude Code は両方のヒントをTip: ...ではなくAcme tip: ...として表示します。- プレーンな文字列: Claude Code はデフォルト値を適用するため、直後のセッションで再び表示されることがあります。
id: Claude Code は 2 つ目のヒントの表示履歴をgateway-errorsをキーとして管理するため、ヒントを追加したり順序を変更したりした後もクールダウンが適用されます。cooldownSessions: Claude Code はgateway-errorsヒントを表示した後、5 セッション後までそのヒントを再表示しません。priority:gateway-errorsヒントと別のヒントが同じセッション数だけ表示されていない場合(たとえば、どちらもまだ表示されていない場合)、Claude Code はgateway-errorsを先に表示します。プレーンな文字列はデフォルトの優先度0を持ちます。
Acme tip: Run /review before opening a PR のように、スピナーに独自のプレフィックス付きでヒントを表示します。
spinnerVerbs
ターンの進行中、スピナーには「Accomplishing」、「Architecting」、「Baking」などの動詞が順に表示されます。このキーを使用すると、そのローテーションに独自の動詞を追加したり、組み込みのリストを独自のものに置き換えたりできます。
- スコープ:
Any file - 型: 文字列の
verbs配列と、次のいずれかであるmodeを持つオブジェクト:"append": Claude Code は組み込みのセットに独自の動詞を追加します"replace": Claude Code は独自の動詞のみを表示します
- デフォルト: 未設定。Claude Code は組み込みの動詞を使用します
settings.json
"replace" モードで verbs 配列が空の場合、Claude Code は組み込みの動詞を維持します。
statusLine
独自のコマンドを実行して、モデル、コスト、git ブランチなどのコンテキストを含むステータスラインをプロンプトの下にレンダリングします。オプションのフィールドで、間隔の調整、定期的な再実行の追加、スクリプト自体が vim.mode をレンダリングする場合の組み込みの vim モードインジケーターの非表示を行えます。
- スコープ:
Any file。allowManagedHooksOnlyがオンの場合、またはdisableAllHooksが管理設定以外で設定されている場合、管理設定の値のみが実行されます。 - 型:
"command"に設定されたtypeとcommand文字列を持つオブジェクト。加えて、文字数を表すオプションのpadding、秒数を表すオプションのrefreshInterval(最小値1)、Boolean であるオプションのhideVimModeIndicatorを持ちます - デフォルト: 未設定。ステータスラインは表示されません
settings.json
jq がインストールされている必要があり、シェルで実行されます。PowerShell と Git Bash での同等の設定については Windows での設定を、完全な設定手順についてはステータスラインを手動で設定するを参照してください。
subagentStatusLine
Claude がサブエージェントを実行すると、Claude Code はプロンプトの下のタスク表示にそれらを一覧表示し、サブエージェントごとに name · description · token count を示す行を 1 行ずつ表示します。このキーを使用すると、独自のコマンドを実行してそれらの行を書き換えられます。たとえば、各サブエージェントのコンテキスト使用量をパーセンテージで表示できます。更新のたびに、Claude Code は表示中の行を 1 つの JSON オブジェクトとして stdin に送信します。このオブジェクトには、各サブエージェントの id、name、status、model、tokenCount などを含む tasks 配列が含まれます。Claude Code は、{"id", "content"} 行として書き戻された各 id の行を置き換えます。書き戻さなかった行はデフォルトのレンダリングのままです。
- スコープ:
Any file。allowManagedHooksOnlyがオンの場合、またはdisableAllHooksが管理設定以外で設定されている場合、管理設定の値のみが実行されます。 - 型:
"command"に設定されたtypeとcommand文字列を持つオブジェクト - デフォルト: 未設定。Claude Code はデフォルトの行をレンダリングします
settings.json
syntaxHighlightingDisabled
Claude Code は、ターミナルに表示する差分、コードブロック、ファイルプレビュー内のコードを、組み込みのハイライターで言語ごとに色分けします。プラグインや言語サーバーは関与しません。このキーを true に設定すると、代わりにプレーンテキストとして表示します。たとえば、色がターミナルのテーマと合わない場合や、スクリーンリーダーの動作が遅くなる場合に使用します。
- スコープ:
Any file - 型: Boolean
true: Claude Code は差分、コードブロック、ファイルプレビューでシンタックスハイライトをオフにしますfalse: Claude Code はシンタックスハイライトを行います
- デフォルト:
false
settings.json
terminalProgressBarEnabled
一部のターミナルでは、その中で実行されているプログラムの進行状況インジケーターをタブやタスクバーに表示できます。Claude の作業中、Claude Code はターミナルに進行中の状態を報告するため、別のタブやウィンドウからセッションがまだビジーかどうかを確認できます。ターンの終了後も、バックグラウンドサブエージェントや動的ワークフローがまだ実行中の間はインジケーターが表示されたままになり、セッションがアイドル状態になるとクリアされます。
Claude Code がこれを報告するのは、インジケーターをサポートするターミナル(ConEmu、Ghostty 1.2.0 以降、iTerm2 3.6.6 以降)のみです。Claude Code による報告を停止するには、このキーを false に設定します。/config では Terminal progress bar として表示されます。
- スコープ:
Any file。どの設定ファイルでも設定されていない場合、古いバージョンによる~/.claude.json内の値が適用されます。 - 型: Boolean
true: サポートしているターミナルでターミナルのプログレスバーが表示されますfalse: Claude Code はターミナルのプログレスバーを非表示にします
- デフォルト:
true
settings.json
terminalTitleFromRename
Claude Code はターミナルのタブのタイトルを設定します。デフォルトでは会話から生成したタイトルを使用し、/rename または --name でセッションに名前を付けると、タブには代わりにその名前が表示されます。セッションに名前を付けた後も生成されたタイトルをタブに表示し続けるには、このキーを false に設定します。名前自体は引き続き適用されるため、/resume <name> やセッションピッカーで見つけることができます。
- スコープ:
Any file - 型: Boolean
true: ターミナルのタブのタイトルに、設定したセッション名が表示されますfalse: タブには Claude Code が会話から生成したタイトルが表示されたままになります
- デフォルト:
true
settings.json
CLAUDE_CODE_DISABLE_TERMINAL_TITLE を 1 に設定します。
theme
インターフェースのカラーテーマを選択します。/config では Theme として表示されます。
- スコープ:
Any file。どの設定ファイルでも設定されていない場合、古いバージョンによる~/.claude.json内の値が適用されます。 - 型: 文字列。次のいずれか:
"auto": ターミナルのライトまたはダークの背景に合わせます"dark": ダークテーマ"light": ライトテーマ"dark-daltonized": 色覚多様性に配慮した色を使用するダークテーマ"light-daltonized": 色覚多様性に配慮した色を使用するライトテーマ"dark-ansi": ターミナルの ANSI カラーパレットのみを使用するダークテーマ"light-ansi": ターミナルの ANSI カラーパレットのみを使用するライトテーマ"custom:<slug>"または"custom:<plugin-name>:<slug>":~/.claude/themes/またはプラグインのカスタムテーマ
- デフォルト:
"dark"
settings.json
timeFormat
各ターンの所要時間メッセージの末尾にある done 6:05 PM や、トランスクリプトビューアーのタイムスタンプなど、Claude Code がインターフェースに表示する時刻の書式を選択します。プリセットを選ぶには、/config を実行して Time format を設定します。Claude Code v2.1.257 以降が必要です。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"auto": 未設定と同じです。各時刻は組み込みの書式を維持し、ターンの所要時間メッセージではロケールに従います"12-hour": 12 時間制"24-hour": 24 時間制"24-hour-utc": UTC の 24 時間制で、18:05Zのように分の後にZが付きます。このプリセットでは Claude Code はtimeZoneを無視します"%H:%M"のような strftime パターン: Claude Code は各時刻をそのパターンで書き出します。%を含む値はすべてパターンとして扱われ、プリセット以外のそれ以外の値は"auto"とみなされます
- デフォルト:
"auto"
settings.json
/config ではプリセットのみが選択できるため、strftime パターンを使用するには、設定ファイルにキーを追加します。この例では、各時刻を 2 桁の 24 時間制で表示します。
settings.json
18:05 のような時刻が表示されます。トランスクリプトビューアーではパターンがタイムスタンプ全体となるため、日付も表示したい場合は日付のディレクティブを追加します。この例では時刻の前に日付を付けます。
settings.json
2026-09-01 18:05 のような時刻が表示されます。
timeZone
インターフェースの時刻を、システムのタイムゾーン以外のタイムゾーンで表示します。"UTC" や "Europe/Dublin" などの IANA タイムゾーン名を設定します。これにより、timeFormat が制御する時刻がこのタイムゾーンで表示されます。timeFormat が "24-hour-utc" の場合、時刻は UTC のままとなり、Claude Code はこのキーを無視します。/config にはこのキーの行がないため、設定ファイルで設定してください。Claude Code v2.1.257 以降が必要です。
- スコープ:
Any file - 型: 文字列。IANA タイムゾーン名です。Claude Code が名前を認識できない場合は、システムのタイムゾーンを使用します
- デフォルト: 未設定。時刻はシステムのタイムゾーンで表示されます
settings.json
tui
ターミナル UI のレンダラーを選択します。仮想化されたスクロールバックを備えたちらつきのない代替スクリーンレンダラーには "fullscreen" を、クラシックなメインスクリーンレンダラーには "default" を使用します。/tui fullscreen または /tui default を実行すると、このキーが自動で書き込まれます。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"default": クラシックなメインスクリーンレンダラー"fullscreen": 仮想化されたスクロールバックを備えた、ちらつきのない代替スクリーンレンダラー
- デフォルト: 未設定。Claude Code がレンダラーを自動で選択します
- セッションごとの上書き: 1 つのセッションについては、
CLAUDE_CODE_NO_FLICKERとCLAUDE_CODE_DISABLE_ALTERNATE_SCREENがこのキーより優先されます。CLAUDE_CODE_NO_FLICKER=1はフルスクリーンをオンにし、CLAUDE_CODE_NO_FLICKER=0またはCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1はオフにします。両方が設定されている場合、Claude Code はオフにします
settings.json
-CC の下や、Windows への SSH 接続では、CLAUDE_CODE_NO_FLICKER=1 を設定しない限り、Claude Code はクラシックレンダラーを維持します。エージェントビューから開いたバックグラウンドセッションは、この設定にかかわらず常にフルスクリーンレンダラーを使用します。
verbose
デフォルトでは、トランスクリプトは各ツール呼び出しを、Claude が実行したコマンドとその出力の行数などの短い要約に折りたたみます。詳細を見たいときは Ctrl+O を押して、トランスクリプト全体を展開ビューに切り替えます。このキーを true に設定すると、すべてのツール呼び出しの入力と出力の全体が発生時にインラインで表示されます。これは、フック、MCP サーバー、長いシェルコマンドをデバッグする際に便利です。/config では Verbose output として表示されます。
- スコープ:
Any file。どの設定ファイルでも設定されていない場合、古いバージョンによる~/.claude.json内の値が適用されます。 - 型: Boolean
true: ツールの出力全体が表示されますfalse: ツールの出力の切り詰められた要約が表示されます
- デフォルト:
false - セッションごとの上書き: 1 つのセッションについては、
--verboseがこのキーより優先されます
settings.json
viewMode の値または保持された /focus の選択は、すべてのセッションでこのキーを上書きします。
viewMode
Claude Code が開始時に使用するトランスクリプトビューを "default"、"verbose"、"focus" から設定します。設定すると、保持された /focus の選択と verbose 設定の両方を上書きします。
- スコープ:
Any file - 型: 文字列。次のいずれか:
"default": ツールの出力が切り詰められた通常のトランスクリプト"verbose": ツールの出力全体を含むトランスクリプト"focus": 最後のプロンプト、編集の diffstat を含むツール呼び出しの 1 行の要約、最終的な応答のみ。フォーカスビューにはフルスクリーンレンダラーが必要です
- デフォルト: 未設定。
verbose設定と最後の/focusの選択が適用されます - セッションごとの上書き: 1 つのセッションについては、
--verboseがこのキーより優先されます
settings.json
vimInsertModeRemaps
vim エディターモードで、2 キーの INSERT モードのシーケンスを Escape にマッピングします。各キーは続けて入力する印字可能な文字ちょうど 2 文字で、サポートされるターゲットは "<Esc>" のみです。Claude Code はそれ以外のエントリを無視します。
- スコープ:
User or managed。リポジトリがユーザーのキー入力を再マッピングすることはできません。 - 型: 2 文字のシーケンスを
"<Esc>"にマッピングするオブジェクト - デフォルト: 未設定
settings.json
editorMode が "vim" でない限り効果はありません。INSERT モードのキーシーケンスを再マッピングするを参照してください。
voice
音声入力をオンにし、音声入力キーの動作を選択します。/voice を実行すると、Claude Code がこのオブジェクトを自動で書き込みます。
- スコープ:
Any file - 型: Boolean である
enabled、ホールドモードでのみ適用される Boolean であるautoSubmit、および次のいずれかであるmodeを持つオブジェクト:"hold": 話している間は音声入力キーを押し続け、離すと停止します"tap": キーを 1 回タップすると録音が開始され、もう 1 回タップすると送信されます
- デフォルト: 未設定。音声入力はオフです。
enabledがtrueでmodeが未設定の場合、Claude Code は"hold"を使用します
settings.json
autoSubmit は、ホールドモードでキーを離したときにプロンプトを送信します。音声入力には claude.ai アカウントが必要です。
voiceEnabled
voice オブジェクトより前から存在する単一の Boolean 形式で、音声入力をオンにします。両方が設定されている場合は voice.enabled が適用されます。
- スコープ:
Any file - 型: Boolean
true:voice.enabledが設定されていない限り、claude.ai アカウントでログインしていて組織のポリシーで音声が許可されている場合に、音声入力がオンになりますfalse:voice.enabledが設定されていない限り、音声入力はオフです
- デフォルト: 未設定
settings.json
wheelScrollAccelerationEnabled
フルスクリーンレンダリングで、高速スクロール時にマウスホイールのスクロール速度を加速します。ホイールの 1 ノッチごとに一定の速度でスクロールさせるには、false に設定します。
- スコープ:
Any file - 型: Boolean
true: Claude Code は高速スクロール時にマウスホイールのスクロール速度を加速しますfalse: Claude Code はホイールの 1 ノッチごとに一定の速度でスクロールします
- デフォルト:
true
settings.json
Git とアトリビューション
Claude Code がコミットとプルリクエストに追加するアトリビューションを制御し、git との連携方法を設定します。attribution
Claude Code が git コミットとプルリクエストに追加するアトリビューションをカスタマイズします。コミットはデフォルトで Co-Authored-By などの git トレーラー を取得します。プルリクエストの説明はプレーンテキストを取得します。以下のサブキーを使用して各部分を個別に設定します。
- スコープ:
Any file - タイプ:
commitとpr文字列およびsessionUrlブール値を含むオブジェクト、または全てのアトリビューションを非表示にするfalse。false値には Claude Code v2.1.281 以降が必要です。それより前のバージョンはこれを拒否し、それを含むユーザー、プロジェクト、またはローカル設定ファイル全体をスキップします - デフォルト: 未設定。Claude Code は各サブキーの下に表示される標準アトリビューションを使用します
attribution を false に設定します。それより前のバージョンも読み込む設定ファイルでは、commit と pr を空の文字列に設定し、sessionUrl を false に設定してください。
この例はコミットアトリビューションを置き換え、プルリクエストアトリビューションを削除し、セッションリンクを削除します。
settings.json
commit または pr を設定すると、Claude Code は非推奨の includeCoAuthoredBy 設定を無視し、設定しなかった方のデフォルトテキストを使用します。
Claude Code は、CLAUDE.md または memory ルールなど、アトリビューションに関するカスタマー独自の命令が、managed settings で設定されている場合を除き、これらのコミットおよび PR 行より優先されることを Claude に伝えます。
includeCoAuthoredBy
このキーを置き換える attribution を代わりに使用してください。これにより、コミットトレーラー、プルリクエストテキスト、セッションリンクを個別に変更または非表示にできます。Claude Code は attribution より前の設定ファイルからの includeCoAuthoredBy: false を引き続き尊重しますが、attribution.commit または attribution.pr を設定すると無視します。
- スコープ:
Any file - タイプ: ブール値
true: 未設定と同じ。Claude Code はコミットトレーラーとプルリクエストアトリビューションテキストを追加しますfalse: Claude Code はコミットトレーラーとプルリクエストアトリビューションテキストの両方を省略します。ただし、attributionがcommitまたはprを設定する場合は、attributionルールが適用されます
- デフォルト:
true
settings.json
attribution を参照してください。
includeGitInstructions
Claude Code は git 関連の 2 つの部分をコンテキストとして Claude に提供します。Bash ツールの説明にあるコミットとプルリクエストの書き方に関する組み込み命令と、リポジトリの git ステータススナップショット(現在のブランチ、メインブランチ、git status 出力、最近のコミット)です。Claude Code はコンバーセーション開始時にスナップショットを読み込みます。
このキーを false に設定して両方を除外します。例えば、独自の git ワークフロースキルを使用する場合などです。
- スコープ:
Any file - タイプ: ブール値
true: Claude Code は組み込みのコミットおよびプルリクエストワークフロー命令と git ステータススナップショットを含めます。クラウドセッションはスナップショットを含めませんfalse: Claude Code は両方を除外します
- デフォルト:
true - セッションごとのオーバーライド:
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONSはこのキーより優先されます(1 セッション)
settings.json
true の場合でも、セッションはスナップショットなしで開始されます。
-p実行:--system-promptまたは--system-prompt-fileを渡すと、プロンプトが置き換えられます。--agentまたはagent設定で選択した、独自のプロンプトを持つカスタムエージェントを実行した場合も、プロンプトが置き換えられます。bare モード 以外でスナップショットを保持するには、カスタムエージェントなしで実行し、プロンプトを置き換える代わりに--append-system-promptで指示を追加してください。- Agent SDK: カスタムシステムプロンプトまたはカスタムのメインスレッドエージェントを使用すると、プロンプトが置き換えられます。システムプロンプトを設定しない場合、SDK は最小限のデフォルトを使用し、この場合もセッションはスナップショットなしで開始されます。bare モード 以外でスナップショットを保持するには、カスタム
agentなしでclaude_codeプリセットを使用してください。
prUrlTemplate
Claude Code がレンダリングする PR リンク(フッターバッジとツール結果サマリー内)を github.com の代わりに内部コードレビューツールに指定します。Claude Code は PR URL から {host}、{owner}、{repo}、{number}、{url} を置き換えます。両方のサーフェス上の GitLab マージリクエスト リンクは GitLab URL を保持します。
- スコープ:
Any file - タイプ: 文字列。5 つのプレースホルダーのいずれかを使用する URL テンプレート
- デフォルト: 未設定
settings.json
#123 など)は Claude が書き込んだままです。/pull/<number> の形状を持たない URL は変更されません。
attribution.commit
Claude Code が git コミットに追加するアトリビューションテキスト(トレーラーを含む)を設定します。コミットアトリビューションを非表示にするには、空の文字列に設定します。
- スコープ:
Any file - タイプ: 文字列
- デフォルト: 未設定。Claude Code は
Co-Authored-By: <name> <noreply@anthropic.com>を追加します。名前はコミットが作成されるときに使用されているモデル(Claude Sonnet 5など)です。subagent がコミットを作成する場合、トレーラーは subagent のモデルに名前を付けます。- Claude Code がモデルを Claude モデルとして認識しているが、その正確なバージョンを確認できない場合、
Claudeのみを書き込みます。 - モデル ID をカスタム
ANTHROPIC_BASE_URLを通じて提供されるサードパーティモデルなど、Claude モデルと一致させることができない場合、Claude Codeを書き込みます。
- Claude Code がモデルを Claude モデルとして認識しているが、その正確なバージョンを確認できない場合、
Co-Authored-By トレーラーに置き換えます。
settings.json
attribution.pr
Claude Code がプルリクエストの説明に追加するアトリビューションテキストを設定します。プルリクエストアトリビューションを非表示にするには、空の文字列に設定します。
- スコープ:
Any file - タイプ: 文字列
- デフォルト: 未設定。Claude Code は
🤖 Generated with [Claude Code](https://claude.com/claude-code)を追加します
settings.json
attribution.sessionUrl
Claude Code が クラウド または Remote Control セッションからコミットするか、プルリクエストを開くときに claude.ai セッションリンクを追加するかどうかを選択します。Claude Code はコミット上に Claude-Session トレーラーとしてリンクを追加し、プルリクエストの説明にリンクとして追加します。リンクを省略するには false に設定します。
- スコープ:
Any file - タイプ: ブール値
true: Claude Code はクラウドまたは Remote Control セッションからコミットするか、プルリクエストを開くときに claude.ai セッションリンクを追加しますfalse: Claude Code はリンクを省略します
- デフォルト:
true
settings.json
フックと自動化
フックを登録し、実行するフックを制限し、ワークフローを制御します。フックイベントとペイロードについては、フックリファレンスを参照してください。allowedHttpHookUrls
HTTP フックがターゲットできる URL を制限します。このキーを定義すると、Claude Code は HTTP フックを実行するのはその URL がパターンの 1 つと一致する場合のみで、残りはブロックして実行しません。空の配列はすべての HTTP フックをブロックします。
- スコープ:
Any file。配列は設定ファイル全体でマージされます。 - 型: URL パターンの配列。ワイルドカードとして
*を使用 - デフォルト: 未設定。任意の URL が許可されます
https://hooks.example.com/ 下のすべての URL と任意の http://localhost URL を許可します:
settings.json
hooks.example.com. を hooks.example.com と同じように扱います。これは DNS の扱い方と同じです。許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。
Agent SDK の managedSettings オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の settings オプションでリストを渡してください。親設定で空のリストがどのように動作するかを参照してください。
allowManagedHooksOnly
フック実行を組織がデプロイするフックに制限します。
- スコープ:
Managed - 型: ブール値
true: 管理フックのみが実行され、Agent SDK フックと管理設定が強制有効にするプラグインからのフックも実行されます。allowManagedHooksOnly下で実行されるものを参照してくださいfalse: すべての設定スコープとプラグインからのフックが実行されます
- デフォルト: 未設定。すべての設定スコープとプラグインからのフックが実行されます
managed-settings.json
allowManagedHooksOnly 下で実行されるもの
これを true に設定すると、Claude Code はどのフックとフック類似コマンドをロードするかを変更します:
- 管理フックと SDK フックが実行されます: 管理設定からのフックと Agent SDK がプロセス内で登録するフック
- 強制有効プラグインフックが実行されます: 管理設定が
enabledPluginsを通じて強制有効にするプラグインからのフック。Claude Code は完全なplugin@marketplaceID でマッチするため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです。これにより、組織マーケットプレイスを通じて検証済みフックを配布しながら、その他すべてをブロックできます。このようなプラグイン内の mod は、組織のものとしてカウントされる場合のみロードされます - 他のプラグインのモニターはブロックされます: プラグインのモニターは、そのプラグインが強制有効にされていない限り起動しません。Claude Code v2.1.310 以降が必要です
- その他すべてはブロックされます: ユーザー、プロジェクト、ローカルフック、他のインストール済みプラグインからのフックと mod、エージェントのフロントマターで宣言されたフック。Claude Code に組み込まれた mod は実行し続けます。ユーザーの mod のみをブロックするには、代わりに
allowManagedModsOnlyを設定してください。 - コマンドソースプラグインは無効になります: Claude Code は
commandソースを持つプラグイン(管理enabledPluginsで強制有効にされたプラグインを含む)も無効にします。ただし、disableCommandPluginSourcesを明示的にfalseに設定した場合を除きます - マーケットプレイス
headersHelperコマンドはブロックされます: Claude Code はマーケットプレイスheadersHelperコマンドもブロックします。ただし、disableCommandPluginSourcesが明示的にfalseに設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です - ステータスラインとファイル提案は管理設定に絞られます: Claude Code は
statusLine、fileSuggestion、subagentStatusLineを管理設定からのみ読み込みます。ステータスラインとファイル提案ゲートに従います
/goal コマンドは実行できません。これはフックに依存しているためです。
disableAllHooks
フック、カスタム ステータスライン、カスタム ファイル提案 コマンドをオフにします。これらを設定から削除せずに一時的にオフにするために使用します。
- スコープ:
Any file。管理設定のみが管理フックを無効にできます。 - 型: ブール値
true: Claude Code はフック、カスタムステータスライン、カスタムファイル提案コマンドをオフにしますfalse: フック、ステータスライン、ファイル提案コマンドが実行されます
- デフォルト: 未設定。フックが実行されます
settings.json
- 管理設定内: Claude Code はすべての設定済みフック(管理フックを含む)を無効にし、Agent SDK がプロセス内で登録するフックは実行し続けます
- Agent SDK の
managedSettingsオプション内: 管理者が管理設定をデプロイしているマシンでは、管理者が埋め込みホストによるポリシーの追加を許可していない限り、Claude Code はこのキーを無視します。キーが有効になる場合、ユーザー、プロジェクト、ローカル、プラグインのフックが停止し、SDK のsettingsオプション内のフックも停止します。管理者の管理フック、強制有効にされたプラグインのフック、および SDK フックコールバックは実行し続けます。Claude Code v2.1.309 以降が必要です。 - 他の設定ファイル内: Claude Code はユーザー、プロジェクト、ローカル、プラグインフックを無効にします。管理フック、Agent SDK フック、管理
enabledPluginsで強制有効にされたプラグインからのフックは実行し続けます
- 管理設定内: 組織のものを含め、インストール済みのすべてのプラグイン内の mod が停止します
- 他の設定ファイル内: ユーザーがインストールした mod が停止し、組織の mod は実行し続けます
/goal コマンドは実行できず、/hooks メニューはフックの代わりに通知を表示します。
ステータスラインとファイル提案ゲート
Claude Code はstatusLine、fileSuggestion、subagentStatusLine について、この順序で 2 つの決定を行います:
- 完全にオフ: 管理設定が
disableAllHooksを設定している場合、またはフォルダが設定ファイル内のフックと同じ ワークスペーストラストルールの下で信頼されていない場合 - 管理設定に絞られます:
allowManagedHooksOnlyが設定されている場合、設定の優先順位が適用された後に管理設定外でdisableAllHooksがtrueである場合、または--safe-modeで Claude Code を起動した場合
@ オートコンプリートは組み込みファイル提案にフォールバックします。
disableWorkflows
動的ワークフローと、管理設定を通じた組織など、設定が到達するすべてのユーザーのためのバンドルワークフローコマンドをオフにします。自分自身のためだけにワークフローをオンまたはオフにするには、代わりに enableWorkflows を使用してください。これは /config の Dynamic workflows トグルがユーザー設定に書き込みます。
- スコープ:
Any file - 型: ブール値
true: Claude Code は動的ワークフローと、設定が到達するすべてのユーザーのためのバンドルワークフローコマンドをオフにしますfalse: 未設定と同じです。ワークフローがオンかどうかはenableWorkflowsとプランのデフォルトに従います
- デフォルト:
false - セッションごとの上書き:
CLAUDE_CODE_DISABLE_WORKFLOWSは 1 つのセッションのワークフローをオフにします。2 つのうちどちらがオフにするかに関わらず、もう一方はオンに戻すことはできません
settings.json
enableWorkflows
プランのデフォルトが望むものでない場合、自分自身のために 動的ワークフローをオンまたはオフにします。/config に Dynamic workflows として表示され、このキーをユーザー設定に書き込み、プランのデフォルトに戻すときに再度削除します。管理設定からすべてのユーザーのためにワークフローをオフにするには、代わりに disableWorkflows を使用してください。
- スコープ:
Any file - 型: ブール値
true: Claude Code は自分自身の動的ワークフローをオンにしますfalse: Claude Code は自分自身の動的ワークフローをオフにします
- デフォルト: 未設定。ワークフローはオンです。ただし Pro プランではオフです
- セッションごとの上書き:
CLAUDE_CODE_DISABLE_WORKFLOWSは 1 つのセッションのワークフローをオフにし、ここでtrueはそれが設定されている間はワークフローをオンに戻すことはできません
settings.json
disableWorkflows と組織のワークフローポリシーも優先されます: enableWorkflows: true はいずれかのソースがワークフローをオフにしている間はワークフローをオンに戻すことはできません。Claude Code は、ユーザー設定以外のソースが enableWorkflows を設定している場合、または disableWorkflows を true に設定している場合、/config 行を非表示にします。
hooks
Claude Code のライフサイクルの特定の時点(ツール呼び出しの前やセッション開始時など)で、フックとして独自のコマンド、プロンプト、エージェント、HTTP リクエスト、または MCP ツールを実行します。フックリファレンスはすべてのイベント、ペイロード、終了コードをリストします。各イベントは matcher グループのリストにマップされ、各グループは matcher が適用されるときに実行するハンドラーをリストします。
- スコープ:
Any file。フックは互いに置き換えられるのではなくファイル全体でマージされ、管理設定からのフックは他のファイルから削除できません。 - 型: フックイベントでキー付けされたオブジェクト。各値は
"command"、"prompt"、"agent"、"http"、または"mcp_tool"のtypeを持つ{ "matcher", "hooks" }グループの配列 - デフォルト: 未設定。フックは実行されません
settings.json
disableAllHooksを参照してください。フックを組織がデプロイするものに制限するには、allowManagedHooksOnlyを参照してください。
httpHookAllowedEnvVars
HTTP フックは環境変数の値をリクエストヘッダーに入れることができます。例えば Authorization: Bearer $HOOK_TOKEN ヘッダーですが、フックが独自の allowedEnvVars でリストしている変数のみです。このキーはすべての HTTP フックのそのリストに外側の制限を設定します: フックは変数を使用できるのは、独自の allowedEnvVars とこのキーの両方がそれを名前付けしている場合のみです。フックの定義がそれを要求している場合でも、フックが読むべきではないシークレットを読むのを防ぐために使用します。
- スコープ:
Any file。配列は設定ファイル全体でマージされます。 - 型: 環境変数名の配列
- デフォルト: 未設定。各フック独自の
allowedEnvVarsリストが適用されます
MY_TOKEN と HOOK_SECRET に制限します:
settings.json
managedSettings オプションでは、リストにエントリがある場合、Claude Code はこのキーを無視するため、代わりに SDK の settings オプションでリストを渡してください。親設定で空のリストがどのように動作するかを参照してください。
workflowKeywordTriggerEnabled
プロンプトでキーワード ultracode を入力することが 動的ワークフローをトリガーするかどうかを選択します。false に設定して、トリガーなしで単語を入力します。
- スコープ:
Any file。/configに Ultracode keyword trigger として表示されます。 - 型: ブール値
true: プロンプトでultracodeを入力すると動的ワークフローがトリガーされますfalse: トリガーなしで単語を入力できます
- デフォルト:
true
settings.json
ultracode 努力設定、/workflows、保存されたワークフローコマンドは影響を受けません。
workflowSizeGuideline
Claude が書き込む動的ワークフローで Claude が目指すエージェント数を設定します。Claude Code は値を Claude に助言として送信します。強制的な上限ではありません: "small" は 5 未満のエージェントを要求し、"medium" は 10 未満、"large" は 50 未満です。ワークフローが費やすものを制限したい場合は "small" を選択します。Claude Code v2.1.219 以降が必要です。
- スコープ:
Any file。そこの値は/configの Dynamic workflow size 選択肢より優先されます。Claude Code は~/.claude.jsonに保存します。設定ファイルがキーを設定している間、Claude Code はその行を非表示にします。 - 型: 文字列。以下のいずれか:
"unrestricted": ガイドラインなし。Claude はタスクに合わせてワークフローの規模を決めます"small": Claude は 5 未満のエージェントを目指します"medium": Claude は 10 未満のエージェントを目指します"large": Claude は 50 未満のエージェントを目指します
- デフォルト:
"medium"、または Pro プランで Claude Code v2.1.271 以降にサインインしている場合は"small"
settings.json
/config でガイドラインを設定します。
プラグインとスキル
プラグインの有効化、マーケットプレイスの登録、組織で許可するプラグインソースの制限、読み込むスキルの制御を行います。プラグインのインストールと作成については、プラグインを参照してください。disableBundledSkills
Claude Code に同梱されているスキルとワークフローをオフにします。Claude Code はバンドルスキルとワークフローを完全に削除しますが、/init などの組み込みコマンドは引き続き入力できる一方でモデルからは非表示になります。
- スコープ:
任意のファイル - 型: Boolean
true: Claude Code はバンドルスキルとワークフローを削除し、/initなどの組み込みコマンドをモデルから非表示にしますfalse: バンドルスキルが読み込まれます
- デフォルト: 未設定。バンドルスキルが読み込まれます
- セッション単位の上書き:
CLAUDE_CODE_DISABLE_BUNDLED_SKILLSを1に設定すると、1 つのセッションでバンドルスキルがオフになります。2 つのうちどちらでオフにした場合でも、もう一方でオンに戻すことはできません
settings.json
.claude/skills/、.claude/commands/ からのスキルは影響を受けません。/doctor は組み込みコマンドと同様に引き続き入力できます。非表示にするには、代わりに DISABLE_DOCTOR_COMMAND を設定してください。
disableSkillShellExecution
ユーザー、プロジェクト、プラグイン、または追加ディレクトリのソースからのスキルとカスタムコマンドにおける !`...` ブロックと ```! ブロックのインラインシェル実行をオフにします。Claude Code は各コマンドを実行する代わりに [shell command execution disabled by policy] に置き換えます。
- スコープ:
任意のファイル。管理設定のtrueは、他の場所のfalseで上書きできません。 - 型: Boolean
true: Claude Code は各インラインシェルコマンドを実行する代わりに[shell command execution disabled by policy]に置き換えますfalse: インラインシェルが実行されます
- デフォルト: 未設定。インラインシェルが実行されます
settings.json
skillOverrides
SKILL.md を編集せずにスキルを非表示にしたり折りたたんだりします。Claude Code は各スキル名の下の値を、Claude が参照するスキル一覧と / のオートコンプリートに適用します。
- スコープ:
任意のファイル。/skillsメニューは.claude/settings.local.jsonに書き込みます。 - 型: スキル名を次のいずれかにマッピングするオブジェクト:
"on": Claude はスキルを参照でき、/nameを入力できます"name-only": Claude はスキルを説明なしで名前のみ参照します"user-invocable-only": Claude はスキルを参照しませんが、/nameは引き続き入力できます"off": Claude はスキルを参照せず、/nameはオートコンプリートから非表示になります
- デフォルト: 未設定。すべてのスキルが
"on"になります
legacy-context を Claude に名前のみで提示し、deploy を Claude と / のオートコンプリートの両方から非表示にします。
settings.json
/plugin で管理します。
管理設定と --settings で渡されたファイルでは、/doctor に対する checkup のようなバンドルスキルのエイリアスに設定したキーもそのスキルに適用されます。エイリアスのキーとスキル自体の名前のキーがどのように組み合わされるかを参照してください。
syncClaudeAiSkills
claude.ai アカウントで有効になっているスキルのダウンロードをオフにします。Claude Code は、claude.ai アカウントでサインインしているターミナルセッション(対話型・非対話型を問わず)、および Cowork セッションとクラウドセッションで、それらを ~/.claude/skills/synced/ にダウンロードします。false を設定すると、そのダウンロードが停止し、すでに同期されたスキルの読み込みも停止します。Claude Code が反映するのは false のみです。true は未設定と同じであり、他の理由でオフになっている場所で同期をオンにすることはありません。
- スコープ:
ユーザー、ローカル、または管理、および--settingsで渡されたファイル。リポジトリがユーザーに代わってこれをオフにすることはできません。 - 型: Boolean
false: Claude Code は同期スキルのダウンロードを停止し、~/.claude/skills/synced/にすでにあるスキルの読み込みも停止します。ユーザー設定または管理設定では、それらを~/.claude/skills/.trash/に移動することもしますtrue: 未設定と同じです
- デフォルト: 未設定。claude.ai アカウントでサインインしたセッションでスキルが同期されます
settings.json
syncClaudeAiPlugins
claude.ai アカウントで有効になっているプラグインのダウンロードをオフにします。Claude Code は、claude.ai アカウントでサインインしているターミナルセッションの開始時と Cowork セッションで、それらを ~/.claude/plugins/synced/ にダウンロードし、それぞれを <name>@synced として読み込みます。false を設定すると、そのダウンロードが停止し、すでに同期されたプラグインの読み込みも停止します。Claude Code が反映するのは false のみです。true は未設定と同じであり、他の理由でオフになっている場所で同期をオンにすることはありません。Claude Code v2.1.273 以降が必要です。
- スコープ:
ユーザー、ローカル、または管理、および--settingsで渡されたファイル。リポジトリがユーザーに代わってこれをオフにすることはできません。 - 型: Boolean
false: Claude Code は同期プラグインのダウンロードを停止し、~/.claude/plugins/synced/にすでにあるプラグインの読み込みも停止します。ユーザー設定または管理設定では、それらを~/.claude/plugins/.trash/に移動することもしますtrue: 未設定と同じです
- デフォルト: 未設定。claude.ai アカウントでサインインしたセッションでプラグインが同期されます
enabledPlugins で "<name>@synced": false を設定します。
この例では、どのセッションでもマシンがアカウントのプラグインをダウンロードしないようにします。
settings.json
allowedChannelPlugins
組織内でセッションにメッセージをプッシュできるチャネルプラグインを選択します。これを設定すると、Claude Code はデフォルトの Anthropic 許可リストの代わりに指定したリストを使用します。各エントリは、プラグインとその提供元のマーケットプレイスを指定します。
- スコープ:
管理 - 型:
marketplaceとpluginの文字列をそれぞれ持つオブジェクトの配列。エントリは代わりに"telegram@claude-plugins-official"のような"plugin@marketplace"文字列にすることもでき、Claude Code はこれを同等のオブジェクトとして扱います。文字列形式には Claude Code v2.1.267 以降が必要です。それより前のバージョンでは、文字列形式を含む場合にallowedChannelPluginsの値全体が拒否されます - デフォルト: 未設定。Claude Code はデフォルトの Anthropic 許可リストを使用します
managed-settings.json
channelsEnabled のゲートを通過した時点で有効になります。Team プランと Enterprise プラン、および管理設定のある Console アカウントでは、channelsEnabled: true がそれに該当します。実行できるチャネルプラグインを制限するを参照してください。
blockedMarketplaces
組織のプラグインマーケットプレイスソースをブロックします。Claude Code は、マーケットプレイスの追加時と、プラグインのインストール、更新、リフレッシュ、自動更新の際にブロックリストを確認するため、ポリシーを設定する前に誰かが追加したマーケットプレイスもプラグインの取得に使用できなくなります。ブロックされたソースはダウンロード前に確認されるため、ファイルシステムに触れることはありません。
このキーを claude.ai 管理コンソールで設定した場合、制限の仕組みで説明しているとおり、組織内の誰かが claude.ai で git リポジトリからマーケットプレイスを追加するときにも claude.ai がこれを適用します。
- スコープ:
管理 - 型: マーケットプレイスソースオブジェクトの配列。形式は
strictKnownMarketplacesと同じです - デフォルト: 未設定。ブロックされるマーケットプレイスはありません
managed-settings.json
github エントリでは owner ワイルドカード形式 "owner/*" を使用して、その GitHub オーナー配下のすべてのリポジトリをブロックできます。これには Claude Code v2.1.223 以降が必要です。{ "source": "skills-dir" } を追加すると、マーケットプレイスを制限することなく、Claude Code が ~/.claude/skills/ とプロジェクトの .claude/skills/ の両方から @skills-dir プラグインを読み込むのを停止できます。管理対象のマーケットプレイス制限を参照してください。
channelsEnabled
組織でチャネルを許可します。claude.ai の Team プランと Enterprise プランでは、これを true に設定するまで Claude Code はチャネルをブロックします。API キーで認証する Anthropic Console アカウントでは、チャネルはデフォルトで許可されます。組織が管理設定をデプロイしている場合は、このキーを true に設定するまで、Claude Code はそれらのアカウントでもチャネルをブロックします。
- スコープ:
管理 - 型: Boolean
true: Claude Code は組織でチャネルを許可しますfalse: 未設定と同じです。チャネルがブロックされるかどうかは、「デフォルト」に記載のとおりプランによって異なります
- デフォルト: 未設定。Team プランと Enterprise プラン、および管理設定のある Console アカウントではチャネルがブロックされ、Pro プランと Max プラン、および管理設定のない Console アカウントでは許可されます
managed-settings.json
allowedChannelPlugins を設定します。エンタープライズ向けの制御を参照してください。
disableCommandPluginSources
command プラグインソースをブロックします。これは、マーケットプレイスが宣言したコマンドをユーザーのマシンで実行してプラグインをインストールするソースです。true に設定すると、Claude Code はそのコマンドを実行せず、command ソースのプラグインをインストールも更新もせず、すでにインストールされているものの読み込みも停止します。false に設定すると明示的に許可します。command ソースをブロックする場合は常に(true に設定した場合でも、allowManagedHooksOnly のもとで未設定のままにした場合でも)、マーケットプレイスの headersHelper コマンドもブロックします。ただし、管理設定自体が宣言しているマーケットプレイスは除きます。Claude Code v2.1.229 以降が必要で、headersHelper のブロックには v2.1.238 以降が必要です。
- スコープ:
管理 - 型: Boolean
true: Claude Code はマーケットプレイスが宣言したコマンドを実行せず、command ソースのプラグインをインストールも更新もせず、すでにインストールされているものの読み込みも停止しますfalse: Claude Code は command ソースのプラグインを明示的に許可します
- デフォルト: 未設定。Claude Code は
allowManagedHooksOnlyに従います。フックの実行を管理設定に制限している組織では、command ソースも無効になります。Agent SDK のmanagedSettingsオプションでdisableAllHooks: trueを渡すアプリケーションは、それだけでは command ソースを無効にしません。
managed-settings.json
pluginSuggestionMarketplaces
プラグインがコンテキストに応じたインストール候補として、スピナーのヒントや /plugin の Discover タブ上部へのピン留めに表示されるマーケットプレイスを指定します。組み込みのファーストパーティの frontend-design ヒントは影響を受けません。候補は、マーケットプレイスエントリ内の各プラグインの relevance 宣言から得られます。
- スコープ:
管理 - 型: マーケットプレイス名の配列
- デフォルト: 未設定。マーケットプレイスが宣言した候補は表示されません
managed-settings.json
extraKnownMarketplaces エントリ、または strictKnownMarketplaces のエントリとしても宣言されている場合のみです。許可リストにある名前で別のソースから登録されたマーケットプレイスは、Claude Code によって無視されます。公式マーケットプレイスはソースの要件から除外されており、その名前を許可リストに入れるだけで十分です。その名前は公式 Anthropic ソースからしか登録できないためです。コンテキストに応じてプラグインを提案するを参照してください。
pluginTrustMessage
インストール前に Claude Code が表示するプラグインの信頼に関する警告に、組織独自のテキストを追加します。たとえば、社内マーケットプレイスのプラグインが審査済みであることを確認するために使用します。
- スコープ:
管理 - 型: string
- デフォルト: 未設定。Claude Code は標準の警告のみを表示します
managed-settings.json
strictKnownMarketplaces
組織内のユーザーが追加し、プラグインをインストールできるプラグインマーケットプレイスソースを制限します。Claude Code は、マーケットプレイスの追加時と、プラグインのインストール、更新、リフレッシュ、自動更新の際に、ネットワーク操作やファイルシステム操作の前に許可リストを適用します。そのため、ポリシーを設定する前に誰かが追加したマーケットプレイスも、そのソースが一致しなくなった時点でプラグインの取得に使用できなくなります。ブロックされたユーザーには、管理ポリシーを示すエラーが表示されます。
このキーを claude.ai 管理コンソールで設定した場合、制限の仕組みで説明しているとおり、組織内の誰かが claude.ai で git リポジトリからマーケットプレイスを追加するときにも claude.ai がこれを適用します。
- スコープ:
管理 - 型: マーケットプレイスソースオブジェクトの配列。許可されるソースタイプを参照してください
- デフォルト: 未設定。ユーザーは任意のマーケットプレイスを追加できます。空の配列は、公式 Anthropic マーケットプレイスを含むすべてのマーケットプレイスソースをブロックする完全なロックダウンになります
v2.0 の ref に固定)と、ホストされた 1 つの marketplace.json URL を許可します。
managed-settings.json
allowedMarketplaces と記述することもできます。Claude Code がエイリアスをどのように扱うか、どのバージョンがそれを受け付けるかについては、マーケットプレイスキーのエイリアスで説明しています。このキーはポリシーゲートです。ユーザーが追加できるものを制御しますが、何も登録しません。1 つのファイルで制限と事前登録を行うには、extraKnownMarketplaces と組み合わせるを参照してください。ユーザー側から見た内容については、管理対象のマーケットプレイス制限を参照してください。
許可されるソースタイプ
以下の各行は、ソースタイプごとの許可リストエントリの例と、受け付けるフィールドを示しています。ほとんどのタイプは完全一致で照合されます。hostPattern と pathPattern は正規表現で照合され、github エントリでは owner ワイルドカードを使用できます。
一部のソースタイプには、表の内容に加えて次のルールがあります。
-
url: URL マーケットプレイスはmarketplace.jsonファイルのみをダウンロードし、Claude Code はそのサーバーから相対パスでプラグインファイルを取得しません。そのため、そのプラグインは相対パス以外のプラグインソース(同じホスト上に置くことができるアーカイブ URL など)を使用する必要があります。相対パスを使用するプラグインには、代わりに Git ベースのマーケットプレイスを使用してください。URL ベースのマーケットプレイスで相対パスを使用するプラグインが失敗するを参照してください。 -
hostPattern: 各リポジトリを列挙せずに、社内の GitHub Enterprise または GitLab サーバー上のすべてのマーケットプレイスを許可するために使用します。Claude Code はgithubソースをgithub.comと照合し、urlソースからはホスト名を取得し、gitソースからは git URL の形式に応じてホスト名を取得します。https://やssh://などのスキームを持つ URL: URL 内のホスト名。- スキームのない、git の
user@host:path形式の SSH アドレス(git@git.example.com:tools/plugins.gitなど):@と:の間のホスト。これは git が接続するホストです。 - スキームのないその他の形式: ホストがないため、
strictKnownMarketplacesのhostPatternエントリには一致しません。blockedMarketplacesのhostPatternでは、Claude Code はより広い範囲の形式からホストを取得するため、ブロックリストのエントリはそのような形式にも一致する場合があります。v2.1.234 より前は、strictKnownMarketplacesのhostPatternは git が SSH アドレスとして扱わない一部の形式にも一致していました。
fileソースとdirectoryソースにはホストがなく、hostPatternエントリに一致することはありません。 -
pathPattern: ネットワークソース用のhostPatternエントリと併せて、ファイルシステムのマーケットプレイスを許可するために使用します。".*"はすべてのローカルパスを許可します。"^/opt/approved/"のようなより狭いパターンは、特定のディレクトリに制限します。 -
skills-dir: 許可リストは、空であっても、Claude Code が~/.claude/skills/とプロジェクトの.claude/skills/の両方から@skills-dirプラグインを読み込むことを停止させます。引き続き読み込むには、{ "source": "skills-dir" }エントリを追加し、strictPluginOnlyCustomizationを未設定のままにしてください。このエントリは、このキーとblockedMarketplaces以外では意味を持ちません。
Owner ワイルドカード
repo の値が "<owner>/*" である github エントリは、その GitHub オーナー配下のすべてのリポジトリに一致します。owner ワイルドカードには Claude Code v2.1.223 以降が必要で、strictKnownMarketplaces と blockedMarketplaces でのみ機能します。extraKnownMarketplaces や /plugin marketplace add など、github ソースが現れるそれ以外の場所では、repo の値は単一のリポジトリを指定する必要があります。v2.1.223 より前は、Claude Code はエントリを文字どおりに比較していたため、許可リストのエントリはどのリポジトリにも一致せず、ブロックリストのエントリは何もブロックしませんでした。単一リポジトリのエントリはすべてのバージョンで適用されます。
このエントリは、acme-corp 組織内の任意のマーケットプレイスリポジトリを許可します。
managed-settings.json
*、*/plugins、acme-corp/tools-* のようなエントリは無効として Claude Code に無視されるため、どのリポジトリにも一致しません。
照合ルールは 2 つの設定で異なります。
完全一致
owner ワイルドカードのgithub エントリと、正規表現で照合される hostPattern および pathPattern エントリを除くすべてのソースタイプについて、Claude Code はマーケットプレイスソースがエントリと完全に一致する場合にのみユーザーによる追加を許可します。git ベースのソースである github と git では、完全一致の対象にオプションのフィールドも含まれます。
repoまたはurlが完全に一致する必要がありますrefフィールドが完全に一致するか、両方とも未定義である必要がありますpathフィールドが完全に一致するか、両方とも未定義である必要があります
{ "source": "github", "repo": "acme-corp/plugins" }と{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }と{ "source": "github", "repo": "acme-corp/plugins" }
公式マーケットプレイスのみを許可する
公式 Anthropic マーケットプレイスのみを許可し、それ以外を許可しないようにするには、そのリポジトリを記載します。managed-settings.json
- マシンで最初の対話型ターミナルセッションより前に実行される非対話型環境。
- Claude Code が VS Code 拡張機能経由でのみ実行されたマシン。
- 空配列によるロックダウンなど、マーケットプレイスをブロックするポリシーのもとで Claude Code がすでに対話型ターミナルセッションを実行したマシン。Claude Code はブロックされた試行を記録し、ポリシーが変更された後も再試行しません。
managed-settings.json の extraKnownMarketplaces にマーケットプレイスを追加して Claude Code に自動登録させるか、claude plugin marketplace add anthropics/claude-plugins-official を実行してください。
extraKnownMarketplaces と組み合わせる
2 つのキーは異なる役割を担います。次の表で両者を比較します。
すべてのユーザーに対してマーケットプレイスの制限と事前登録の両方を行うには、
managed-settings.json で両方を設定します。
managed-settings.json
strictKnownMarketplaces のみを設定した場合でも、ユーザーは /plugin marketplace add で許可されたマーケットプレイスを自分で追加できます。Claude Code が自動的に登録するのは公式 Anthropic マーケットプレイスのみであり、それも許可リストが許可している場合に限られます。自動登録が行われないマシンについては、公式マーケットプレイスのみを許可するに記載しています。
strictPluginOnlyCustomization
ユーザーソースとプロジェクトソースからのスキル、エージェント、フック、MCP サーバーをブロックし、それらがプラグインまたは管理設定からのみ提供されるようにします。strictKnownMarketplaces と組み合わせると、カスタマイズのサプライチェーン全体を制御できます。マーケットプレイスの許可リストは、ユーザーがインストールできるプラグインを制御します。
- スコープ:
管理 - 型: 4 種類のカスタマイズすべてをロックする場合は
true、またはロックする種類を"skills"、"agents"、"hooks"、"mcp"から指定する配列 - デフォルト: 未設定。何もロックされません
managed-settings.json
~/.claude/skills/ または .claude/skills/ の下に置いているプラグインフォルダ)の読み込みも停止します。これらのフォルダはマーケットプレイスからインストールされるのではなくユーザー自身が配置するものであるため、Claude Code はこの設定においてそれらをユーザーによるカスタマイズとして扱います。
以下の 4 つのサブキーの項目では、各サーフェスが他にブロックするものと、引き続き読み込まれるものを記載しています。Claude Code は認識できないサーフェス名を、設定ファイルをエラーにするのではなく無視します。そのため、すべてのクライアントが更新される前に新しいサーフェス名を追加できます。
strictPluginOnlyCustomization.skills
skills サーフェスをロックします。Claude Code は、~/.claude/skills/ と .claude/skills/ からのスキル、~/.claude/commands/ と .claude/commands/ からのカスタムコマンド、--add-dir ディレクトリ配下のスキルとコマンド、および claude.ai アカウントから同期されたスキルの読み込みを停止します。バンドルスキル、管理ポリシーディレクトリ内のスキル、およびスキルディレクトリプラグイン以外のプラグインからのスキルは引き続き読み込みます。
- スコープ:
管理 - 型:
strictPluginOnlyCustomization配列内の文字列"skills" - デフォルト: ロックされない
managed-settings.json
strictPluginOnlyCustomization.agents
agents サーフェスをロックします。Claude Code は、~/.claude/agents/、.claude/agents/、および --add-dir ディレクトリからのエージェントの読み込みを停止します。組み込みエージェント、管理ポリシーディレクトリ内のエージェント、およびスキルディレクトリプラグイン以外のプラグインからのエージェントは引き続き読み込みます。
- スコープ:
管理 - 型:
strictPluginOnlyCustomization配列内の文字列"agents" - デフォルト: ロックされない
managed-settings.json
strictPluginOnlyCustomization.hooks
hooks サーフェスをロックします。
- 実行を停止するもの:
- 引き続き実行するもの: 管理設定内のフック、およびスキルディレクトリプラグイン以外のプラグインからのフック
hooks を宣言している個人またはプロジェクトのスキルは、allowed-tools による事前承認も失うため、ユーザーにはそのフィールドに記載されたツールについて権限プロンプトが表示されます。そのようなスキルが context: fork によってサブエージェントで実行される場合は、事前承認が維持されます。hooks を宣言していないスキルも事前承認を維持します。
- スコープ:
管理 - 型:
strictPluginOnlyCustomization配列内の文字列"hooks" - デフォルト: ロックされない
managed-settings.json
strictPluginOnlyCustomization.mcp
mcp サーフェスをロックします。Claude Code は、~/.claude.json と .mcp.json からの MCP サーバーの読み込みを停止します。managed-mcp.json のサーバー、managedMcpServers のサーバー、およびスキルディレクトリプラグイン以外のプラグインからの MCP サーバーは引き続き読み込みます。
- スコープ:
管理 - 型:
strictPluginOnlyCustomization配列内の文字列"mcp" - デフォルト: ロックされない
managed-settings.json
enabledPlugins
個々のプラグインを plugin-name@marketplace-name をキーとしてオンまたはオフにします。どのスコープにもエントリがないプラグインは、その defaultEnabled の値にフォールバックします。/plugin または claude plugin enable でプラグインを有効化または無効化すると、Claude Code がこのキーを自動的に書き込みます。
- スコープ:
任意のファイル - 型:
plugin-name@marketplace-nameを Boolean にマッピングするオブジェクト - デフォルト: 未設定。各プラグインはその
defaultEnabledの値に従います
team-tools マーケットプレイスの 2 つのプラグインを有効にし、personal の 1 つを無効にします。
settings.json
- ユーザー設定: 個人のプラグインの設定
- プロジェクト設定: リポジトリの全員と共有するプラグイン
- ローカル設定: マシンごとの上書き。Claude Code がここに設定を保存するときに gitignore されます
- 管理設定: 組織全体のポリシー。ここで
falseに設定されたプラグインは、すべてのスコープでインストールがブロックされ、マーケットプレイスから非表示になります
~/.claude/settings.json でプラグインを false に設定しても、プロジェクトの .claude/settings.json で有効にされているプラグインは無効になりません。自分のマシンでプロジェクトが有効にしたプラグインを使わないようにするには、代わりに .claude/settings.local.json で false に設定してください。管理設定によって強制的に有効にされたプラグインは、管理設定がローカル設定を上書きするため、この方法では無効にできません。
プロジェクトの .claude/settings.json で GitHub リポジトリや npm パッケージなどの外部ソースのプラグインを有効にしても、他のユーザーにはインストールされません。プラグインを読み込むすべての経路で、各ユーザーが自分でインストールするまで、Claude Code はそのプラグインを未インストールとして報告します。
extraKnownMarketplaces
追加のプラグインマーケットプレイスを名前で登録し、リポジトリを開いたユーザーや管理設定が届くすべてのユーザーが、自分で追加しなくてもマーケットプレイスを利用できるようにします。Claude Code は、まだ認識していない各マーケットプレイスを登録します。そこから enabledPlugins が指定したプラグインがインストールされるかどうかは、プラグインのソースとそれを有効にしているファイルによって異なります。ルールについてはそのエントリを参照してください。
- スコープ:
任意のファイル。Claude Code は、リポジトリの.claude/settings.jsonまたは.claude/settings.local.jsonのエントリを、そのフォルダのワークスペースの信頼ダイアログを承認した後にのみ反映します。信頼していないフォルダ(そこでの-p実行を含む)では、メッセージを表示せずにそれらを無視します。 - 型: マーケットプレイス名を、
sourceオブジェクトとオプションのautoUpdateBoolean を持つオブジェクトにマッピングするオブジェクト - デフォルト: 未設定
settings.json
additionalMarketplaces と記述することもできます。マーケットプレイスキーのエイリアスを参照してください。
source と併せて "autoUpdate": true を設定すると、Claude Code は起動後にバックグラウンドでそのマーケットプレイスをリフレッシュし、インストール済みのプラグインを更新します。省略した場合、claude-plugins-official とその他の大半の公式 Anthropic マーケットプレイスはデフォルトで true になり、サードパーティのマーケットプレイスはデフォルトで false になります。自動更新を設定するを参照してください。
複数の設定ファイルが同じ名前でマーケットプレイスのエントリを定義している場合、Claude Code は優先順位が最も高いファイルのエントリ全体を使用します。そのエントリは優先順位の低いエントリを置き換え、そのフィールドを一切継承しないため、再定義によって、あるファイルの source.headers の認証情報を別のファイルが制御する URL と組み合わせることはできません。v2.1.228 より前は、Claude Code は同名のエントリをフィールドごとにマージしていたため、優先順位の高いファイルのエントリが、別のファイルの headers を含め、自身で設定していないフィールドを継承することがありました。
マーケットプレイスのソースタイプ
source オブジェクトは次のいずれかの形式をとります。
github: GitHub リポジトリ。repoを指定しますgit: 任意の git URL。urlを指定しますurl:marketplace.jsonファイルへの直接 URL。urlと、認証付きアクセス用のオプションのheadersおよびheadersHelperを指定します。headersHelperは、headersに記載するには有効期間が短すぎる値を持つヘッダーを出力するコマンドを指定するもので、Claude Code v2.1.238 以降が必要ですfile:marketplace.jsonファイルへのローカルパス。pathを指定しますdirectory: ローカルファイルシステムのパス。pathを指定します。開発用、または組織が各マシンにデプロイするマーケットプレイスに使用します。settings: ホストされたリポジトリなしで設定ファイル内に直接宣言されたインラインマーケットプレイス。nameとpluginsを指定します
git ソースタイプは、セルフホストの GitLab や Bitbucket を含む任意の git ホスティングサービスで機能します。Claude Code は、そのマシン上で git clone が使用するのと同じ認証、つまり設定済みの認証情報ヘルパーまたは SSH キーでリポジトリをクローンします。GITHUB_TOKEN などのプロバイダートークンは、それを読み取る認証情報ヘルパーを通じて有効になります。セットアップの詳細については、プライベートリポジトリを参照してください。
github ソースと git ソースでは、Claude Code はマーケットプレイスリポジトリを追加または更新のためにクローンする際、Git LFS のコンテンツを一切ダウンロードしません。LFS で追跡されているファイルはポインターファイルとしてチェックアウトされ、追加または更新の出力にその数が表示されます。
source オブジェクト内の skipLfs フィールドは受け付けられますが、効果はありません。v2.1.274 より前は、"skipLfs": true を設定しない限り、Claude Code は LFS コンテンツをダウンロードしていました。
url ソースでは、headers 内の認証情報に有効期限があり、新しい認証情報をコマンドで生成する必要がある場合に、source オブジェクト内で headersHelper を設定します。Claude Code v2.1.238 以降が必要です。コマンドが出力すべき内容と Claude Code がそれを実行する場所については、headersHelper コマンドを作成するを、Claude Code がそれを実行しないケースについては、Claude Code が headersHelper コマンドをスキップする場合を参照してください。https:// のマーケットプレイス URL に headersHelper を設定すると、Claude Code は次の 2 つのタイミングでコマンドを実行し、1 回の実行の出力を最大 60 秒間再利用します。
- そのマーケットプレイスの
marketplace.jsonを取得する前(後のリフレッシュを含む)。Claude Code は出力されたヘッダーをその取得リクエストとともに送信します。 - マーケットプレイス URL のオリジン(同じスキーム、ホスト、ポート)上の各プラグインアーカイブをダウンロードする前。Claude Code は出力をそのダウンロードとともに送信し、それ以外のダウンロードにはヘッダーは付与されません。
--add-dir で追加したディレクトリの .claude/settings.json または .claude/settings.local.json に設定された headersHelper は、url ソースでもインラインプラグインエントリでも Claude Code によって無視され、そのファイルに設定された固定の headers のみが送信されます。その他の設定ファイルについては、ユーザーが headersHelper コマンドを承認する方法で説明しています。
settings ソースに記載するプラグインは GitHub や npm などの外部ソースを参照する必要があり、name はマーケットプレイスのキーと一致する必要があります。各プラグインは引き続き enabledPlugins で個別に有効にします。この例では、1 つのプラグインをインラインで宣言します。
settings.json
source: 'settings' 配下のプラグインエントリで、自身の source が archive であるものは、アーカイブのダウンロード用に headers を設定できます。headers に指定する値の有効期間が短い場合(レジストリがリクエストに応じて発行するトークンなど)は、代わりに headersHelper コマンドを設定してください。エントリでは両方を設定することもできます。どちらのフィールドにも Claude Code v2.1.238 以降が必要です。
Claude Code は、エントリの headers とコマンドが出力した内容を、そのプラグインのアーカイブのダウンロードとともに送信し、それ以外のダウンロードには送信しません。Claude Code がコマンドを実行するのは、ユーザーがそのプラグイン 1 つだけを単独でインストールまたは更新する場合のみです。さらに、エントリがどのファイルにあるかによって次の 3 つのルールが適用されます。
strict: マーケットプレイスのmarketplace.json内のエントリとは異なり、設定内のエントリには"strict": falseは不要です。設定ファイルにはインライン化するマニフェストフィールドがないためです。Strict モードを参照してください。- フォルダの信頼: プロジェクトの
.claude/settings.jsonまたは.claude/settings.local.json内のエントリについては、ユーザーがそのフォルダを信頼した後にのみ、Claude Code はコマンドを実行します。 - ヘッダーフィルター: リポジトリがプロジェクトの
.claude/settings.jsonや.claude/settings.local.jsonを提供できるため、Claude Code はそれらのファイル内のエントリからリクエストのルーティングやクライアントの識別に関するヘッダー名を削除します。Claude Code はカタログエントリと--add-dirディレクトリの設定内のエントリにも同じフィルターを適用し、ユーザー設定、--settingsファイル、管理設定内のエントリにはフィルターを適用しません。
マーケットプレイスキーのエイリアス
Claude Code v2.1.232 以降では、extraKnownMarketplaces を additionalMarketplaces と、strictKnownMarketplaces を allowedMarketplaces と記述できます。Claude Code は各エイリアスを次のように扱います。
- それより前のバージョンはエイリアスを無視します。そのため、Claude Code のバージョンが混在するフリート向けの管理設定ファイルなど、古いバージョンも読み込むファイルでは正規の表記を使用してください。
- 正規のキーを受け付ける任意の設定ファイルで、Claude Code はエイリアスを正規のキーとまったく同じように読み込みます。
- Claude Code はファイルを更新する際に、
additionalMarketplacesをextraKnownMarketplacesに書き換えることがあります。 - 1 つのファイルで両方の表記を設定した場合、Claude Code は正規のキーの値を使用し、エイリアスを無視します。
pluginConfigs
プラグインの userConfig 設定ダイアログで入力した機密性のない回答を、プラグイン ID をキーとして保存します。ダイアログに入力すると Claude Code がこのキーをユーザー設定に書き込むため、手動で編集する必要はありません。機密性のあるオプションは Claude Code が代わりに macOS キーチェーンに保存し、キーチェーンが書き込みを拒否した場合は ~/.claude/.credentials.json にフォールバックします。サポートされているキーチェーンがないプラットフォームでは、~/.claude/.credentials.json に保存します。
- スコープ:
ユーザーまたは管理 - 型: プラグイン ID を、
optionsフィールド(各オプション名を文字列、数値、Boolean、または文字列の配列にマッピング)と、同じ形式でサーバーごとのユーザー設定値を保持するオプションのmcpServersフィールドを持つオブジェクトにマッピングするオブジェクト - デフォルト: 未設定
acme-tools の deployer プラグインの api_endpoint オプションを保存します。
settings.json
@builtin サフィックスを付けた同じキーの下にオプションを保存します。たとえば、Claude Code が AGENTS.md ファイルを読み込むかどうかを制御する Project instructions 設定は pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles です。v2.1.285 より前は、このプラグインの ID は agents-md@builtin でした。それ以降のバージョンは、どちらの ID のエントリも読み込みます。
Claude Code はプロジェクトとローカルのエントリを無視します。これらの値はプラグインのフック、MCP、LSP の設定に代入されるため、クローンしたリポジトリがそれらを提供できてはならないからです。
prependPlugins
ユーザーがインストールしたすべての mod より前に、記載順で mod が実行される管理対象プラグインを列挙します。このキーを管理設定で設定する場合は、組み込みガードを維持するためにリストに sec-default@builtin を含めてください。管理設定では、Claude Code は組織のものとみなされないプラグインの id をスキップします。その条件と、2 つの順序指定キーがどのように連携するかについては、組織の mod をインストールして順序を設定するを参照してください。
- スコープ:
ユーザーまたは管理。Claude Code は管理設定からこのキーを読み込みます。ユーザー設定からこのキーを読み込むのは、管理設定のないマシンで、認証情報が Team または Enterprise の/loginではないセッションの場合のみです。プロジェクト設定、ローカル設定、および--settingsファイル内のこのキーは無視します。 - 型:
plugin-name@marketplace-name文字列の配列 - デフォルト: 未設定
managed-settings.json
appendPlugins
ユーザーがインストールしたすべての mod の後に、記載順で mod が実行される管理対象プラグインを列挙します。prependPlugins と appendPlugins の両方に記載された id は先頭に追加されます。管理設定では、Claude Code は組織のものとみなされないプラグインの id をスキップします。
- スコープ:
ユーザーまたは管理。Claude Code は管理設定からこのキーを読み込みます。ユーザー設定からこのキーを読み込むのは、管理設定のないマシンで、認証情報が Team または Enterprise の/loginではないセッションの場合のみです。プロジェクト設定、ローカル設定、および--settingsファイル内のこのキーは無視します。 - 型:
plugin-name@marketplace-name文字列の配列 - デフォルト: 未設定
managed-settings.json
MCP
Claude Code が接続する MCP サーバーと、組織が許可する MCP サーバーを制御します。MCP で外部ツールに接続すると管理対象 MCP 設定を参照してください。allowAllClaudeAiMcps
Claude Code が自身で取得するclaude.ai コネクタを、デプロイされた managed-mcp.json と一緒に読み込みます。このキーがない場合、managed-mcp.json は MCP サーバーを排他的に制御し、これらのコネクタを抑制します。
- スコープ:
Managed。ユーザーは排他的制御によって抑制されたコネクタを再度有効にすることはできません。 - タイプ: ブール値
true: Claude Code は、デプロイされたmanaged-mcp.jsonと一緒に claude.ai コネクタを読み込みますfalse: デプロイされたmanaged-mcp.jsonは MCP サーバーを排他的に制御し、Claude Code が自身で取得するclaude.ai コネクタを抑制します
- デフォルト:
false。デプロイされたmanaged-mcp.jsonは Claude Code が自身で取得する claude.ai コネクタを抑制します
managed-settings.json
allowedMcpServersとdeniedMcpServersは、このキーが読み込むコネクタにも適用されます。managed-mcp.json を持つホスト(自己ホスト型ランナーなど)のクラウドセッションに配信されるコネクタは、抑制されたままです。管理対象セットと一緒に claude.ai コネクタを許可するを参照してください。
allowClaudeInChromeWithManagedMcp
デプロイされた managed-mcp.json と一緒に、組み込みのClaude in Chromeサーバーを実行できるようにします。このキーがない場合、デプロイされた managed-mcp.json はターミナルセッションで Claude in Chrome をブロックします。Claude Code v2.1.282 以降が必要です。
- スコープ:
Managed。デバイス自身の管理設定からのみ。MDM でデプロイされた plist または HKLM レジストリキー、またはシステムmanaged-settings.jsonファイル。Claude Code はサーバー管理設定、ユーザー書き込み可能な HKCU レジストリ、およびユーザーまたはプロジェクト設定では無視します。 - タイプ: ブール値
true: 組み込みの Claude in Chrome サーバーは、デプロイされたmanaged-mcp.jsonと一緒に実行できますfalse: デプロイされたmanaged-mcp.jsonはターミナルセッションで Claude in Chrome をブロックします
- デフォルト:
false。デプロイされたmanaged-mcp.jsonはターミナルセッションで Claude in Chrome をブロックします
managed-settings.json
claude-in-chrome のdeniedMcpServersエントリは、このキーがオンの場合でもサーバーをブロックします。管理対象セットと一緒に Claude in Chrome を許可するを参照してください。
allowedMcpServers
ユーザーが追加できる MCP サーバーをホワイトリストに登録します。Claude Code は、プラグインサーバー、--mcp-config で渡されたサーバー、claude.ai からのサーバーを含め、どこで定義されていても、エントリに一致しないサーバーをブロックします。
Claude in Chrome、実行中のVS CodeまたはJetBrains IDE に Claude Code が接続する ide サーバー、CLI 自体が設定するサーバーなどの組み込みサーバーは、ホワイトリストから除外され、デニーリストは引き続きこれらに適用されます。Claude Code v2.1.268 以降では、Claude Tagセッションの Slack ツールもホワイトリストから除外され、デニーリストは引き続きこれらに適用されます。インプロセス type: "sdk" サーバーは両方のリストから除外されます。セッションを開始したアプリがこれらを登録します。
組織が配信するサーバーも許可リストから除外され、拒否リストは引き続きこれらに適用されます。この除外は、すべてのmanagedMcpServersエントリと、値がenv 以外で ${VAR} 展開を使用しないmanaged-mcp.jsonエントリをカバーします。完全なチェック順序については、サーバーの評価方法を参照してください。v2.1.259 より前では、managed-mcp.json からのサーバーも一致する必要がありました。
- スコープ:
Any file。allowManagedMcpServersOnlyが設定されていない限り、すべてのファイルからのエントリが 1 つのホワイトリストにマージされます。管理設定にデプロイして、これを強制します。 - 型: オブジェクトの配列で、各オブジェクトはキーを 1 つだけ持ちます。英字、数字、ハイフン、アンダースコアのみで構成される文字列の
serverName、コマンドとその引数を完全一致で照合する配列のserverCommand、または*ワイルドカードを使用する URL パターンのserverUrlのいずれかを使用します - デフォルト: 未設定。すべてのサーバーが許可されます。空の配列は、ユーザーが追加するすべてのサーバーをブロックします
npx コマンドが開始する stdio サーバーのみを許可します。
settings.json
deniedMcpServersエントリが優先されるため、両方のリストにあるサーバーはブロックされます。リストに serverCommand エントリが含まれると、stdio サーバーは serverCommand エントリと一致する必要があり、serverUrl エントリが含まれると、リモートサーバーは serverUrl エントリと一致する必要があります。serverName の一致は、その種類のサーバーをもはや許可しません。ホワイトリストとデニーリストを使用したポリシーベースの制御を参照してください。
allowManagedMcpServersOnly
管理対象の許可リストのみを適用対象にします。Claude Code は、管理設定からのみ allowedMcpServers を読み込み、ユーザー、プロジェクト、ローカル設定の許可リストを無視します。deniedMcpServersは引き続きすべての設定スコープからマージされるため、ユーザーは自分自身のためにサーバーをブロックできます。管理者は、ユーザー自身の設定が管理対象の許可リストが許可するものを拡大できないようにするために、これを設定します。
- スコープ:
Managed - タイプ: ブール値
true: Claude Code は管理設定からのみallowedMcpServersを読み込み、ユーザー、プロジェクト、ローカル設定のホワイトリストを無視しますfalse: すべての設定スコープのホワイトリストがマージされます
- デフォルト:
false。すべての設定スコープのホワイトリストがマージされます
github という名前のサーバーのみを許可します。
managed-settings.json
deniedMcpServers
特定の MCP サーバーをブロックします。Claude Code は、プラグインサーバー、--mcp-config で渡されたサーバー、managed-mcp.json からのサーバー、managedMcpServersからのサーバー、および自身で取得するclaude.ai コネクタを含め、どこで定義されていても、一致するサーバーの読み込みを拒否します。インプロセス type: "sdk" サーバーは除外されます。セッションを開始したアプリがこれらを登録します。
- スコープ:
Any file。すべてのファイルからのエントリが 1 つのデニーリストにマージされ、allowManagedMcpServersOnlyはこれを変更しません。管理設定にデプロイして、これを強制します。 - タイプ: オブジェクトの配列。各オブジェクトは正確に 1 つのキーを持ちます。
serverNameは文字列です。"claude.ai Slack"などの claude.ai コネクタの表示名が機能します。serverCommandは、コマンドとその引数を正確に一致させた配列です。またはserverUrlは、*ワイルドカードを含む URL パターンです - デフォルト: 未設定。サーバーはブロックされません。空の配列も何もブロックしません
settings.json
allowedMcpServersより優先されるため、両方のリストにあるサーバーはブロックされます。ホワイトリストとデニーリストを使用したポリシーベースの制御を参照してください。
disableClaudeAiConnectors
Claude Code が自身で取得するclaude.ai MCP コネクタをオフにして、取得も接続もしません。任意の設定ファイルで true が適用されます。チェックインされたプロジェクト .claude/settings.json はリポジトリをこれらのコネクタから除外できますが、プロジェクトレベルの false はユーザーレベルまたは管理レベルの true をオーバーライドできません。
- スコープ:
Any file - タイプ: ブール値
true: Claude Code はこれらのコネクタを取得も接続もしませんfalse: 未設定と同じです。別の設定ファイルまたはENABLE_CLAUDEAI_MCP_SERVERSがこれらをオフにしない限り、Claude Code はコネクタを取得します
- デフォルト:
false。Claude Code はコネクタを取得します - セッションごとのオーバーライド:
ENABLE_CLAUDEAI_MCP_SERVERSをfalseに設定すると、1 つのセッションのコネクタがオフになります。2 つのうちどちらがオフにしても、もう一方はオンに戻すことはできません
settings.json
--mcp-config で明示的に渡すサーバーは影響を受けません。すべてのコネクタをブロックする代わりに個別のコネクタをブロックするには、deniedMcpServersを使用します。claude.ai コネクタを無効にするを参照してください。
disabledMcpjsonServers
プロジェクトの .mcp.json ファイルで定義された特定のサーバーを拒否して、Claude Code がこれらに接続したり、承認を求めたりしないようにします。任意の設定ファイルでの拒否が適用されます。リポジトリにチェックインされたプロジェクト .claude/settings.json を含みます。
- スコープ:
Any file - タイプ: 文字列の配列。
.mcp.jsonに表示されるサーバー名 - デフォルト: 未設定
settings.json
.claude/settings.local.json に書き込みます。claude mcp get <name> は、拒否されたサーバーを ✘ Rejected (see disabledMcpjsonServers in settings) として表示します。拒否はenabledMcpjsonServersとenableAllProjectMcpServersより優先されます。
enableAllProjectMcpServers
プロジェクト .mcp.json ファイルで定義されたすべての MCP サーバーをプロンプトなしで承認します。Claude Code は、承認ダイアログですべてのサーバーを承認することを選択すると、このキーを .claude/settings.local.json に書き込みます。
- スコープ:
Any file。信頼ダイアログを受け入れていないフォルダでは、Claude Code はユーザー設定、管理設定、--settingsからこれを尊重し、共有プロジェクトファイルではセッション内とclaude mcp listおよびclaude mcp getで無視します。プロジェクトサーバーの承認とワークスペースの信頼は、追跡されていない.claude/settings.local.jsonがいつカウントされるかを説明しています。 - タイプ: ブール値
true: Claude Code はプロジェクト.mcp.jsonファイルで定義されたすべての MCP サーバーをプロンプトなしで承認しますfalse: Claude Code は各サーバーの承認を求めます。信頼されたフォルダでは、優先度の高いファイルのfalseは優先度の低いファイルのtrueをオーバーライドします。信頼していないフォルダでは、尊重されるファイルのtrueで十分です
- デフォルト: 未設定。Claude Code は各サーバーの承認を求めます
settings.json
disabledMcpjsonServersエントリはサーバーを拒否します。
enabledMcpjsonServers
プロジェクト .mcp.json ファイルで定義された特定のサーバーを承認して、Claude Code が質問なしにこれらに接続します。Claude Code は、承認ダイアログでサーバーを承認すると、このキーを .claude/settings.local.json に書き込みます。
- スコープ:
Any file。信頼ダイアログを受け入れていないフォルダでは、Claude Code はユーザー設定、管理設定、--settingsからこれを尊重し、共有プロジェクトファイルではセッション内とclaude mcp listおよびclaude mcp getで無視します。プロジェクトサーバーの承認とワークスペースの信頼は、追跡されていない.claude/settings.local.jsonがいつカウントされるかを説明しています。 - タイプ: 文字列の配列。
.mcp.jsonに表示されるサーバー名 - デフォルト: 未設定
.mcp.json から memory および github サーバーを承認します。
settings.json
disabledMcpjsonServersエントリはサーバーを拒否します。
managedMcpServers
管理設定からすべてのユーザーにリモート MCP サーバーを提供します。ユーザーは自分たちが追加したサーバーを保持し、提供されたサーバーを編集または削除することはできません。Claude Code v2.1.259 以降が必要です。
- スコープ:
Managed。Claude Code はユーザー、プロジェクト、ローカル設定でキーを警告とともにドロップし、Claude Desktop アプリのコードタブでサードパーティデプロイメント上で、またはアプリの Cowork セッションで読み込みません。Claude Desktop はこれらのセッションの MCP サーバーを供給してロックします。 - タイプ: サーバー名でキー付けされたオブジェクト。各エントリは
httpまたはsseサーバーの.mcp.json形状を持ちます。必須のhttps://urlと、オプションでheaders、oauth、その他の HTTP および SSE オプション。Claude Code は検証に失敗したエントリをドロップし、エントリに含まれる内容は条件をリストします - デフォルト: 未設定。管理設定はサーバーを提供しません
search という名前の 1 つの HTTP サーバーを提供します。
managed-settings.json
managed-mcp.json および許可リストと拒否リストとどのように組み合わされるか、およびユーザーが何を見るかについては、管理設定を通じてサーバーを提供するを参照してください。
エージェント、セッション、worktree
デフォルトエージェントを設定し、チームメイトとクロスセッションメッセージングを制御し、worktree を設定します。サブエージェントと worktree を参照してください。agent
メインスレッドを名前付きサブエージェントとして実行し、Claude Code がそのサブエージェントのシステムプロンプト、ツール制限、およびモデルをセッションに適用するようにします。同じキーは claude agents からディスパッチするセッションのデフォルトエージェントも設定します。
- スコープ:
任意のファイル - タイプ: 文字列、組み込みまたはカスタムエージェントの名前
- デフォルト: 未設定。メインスレッドは Claude Code のデフォルトエージェントとして実行されます
- セッションごとの上書き:
--agentはこのキーより優先され、1 つのセッションに適用されます
settings.json
settings.json もこのキーを提供できます。プラグインでデフォルト設定を配布するを参照してください。
crossSessionInbound
このセッションが他の Claude Code セッションから到着するメッセージに対して何を行うかを選択します。値が適用されない場合、Claude Code は 2 つのセッションの権限モードクラスからメッセージごとに決定します。Claude Code v2.1.224 以降が必要です。
- スコープ:
任意のファイル。プロジェクトまたはローカル値は、管理設定、--settingsフラグ、またはユーザー設定が提供する値より厳密な場合にのみ適用されます。 - タイプ: 文字列、以下のいずれか:
"accept": Claude Code はメッセージを Claude に配信します"hold": Claude Code はメッセージの通知を表示しますが、配信しません"refuse": Claude Code はメッセージを破棄します
- デフォルト: 未設定。Claude Code はメッセージごとに決定します
settings.json
--settings フラグ、その後ユーザー設定を読み込み、最初に見つかった値を適用します。refuse は hold より厳密で、hold は accept より厳密です。信頼できるソースのいずれもが値を設定しない場合、プロジェクトまたはローカルの hold または refuse は依然として適用され、メッセージごとのデフォルトを置き換えます。クロスセッションメッセージングを使用するセッションでは、このキーは /config に他のセッションからのメッセージとして表示され、ユーザー設定に書き込まれます。この行には Claude Code v2.1.232 以降が必要で、--settings フラグまたは管理設定がキーを設定している間、Claude Code はそれを非表示にします。
Claude Code は、認識しない値を設定すると警告します。その値がユーザー、プロジェクト、ローカル、または --settings ファイルに存在する間、Claude Code は受信メッセージを保留します。優先されるソースが accept を設定している場合でも、です。別のソースが設定する refuse は依然として適用されます。値を修正または削除して保留をクリアします。
認識しない値が管理設定にある場合、Claude Code は代わりに管理者が修正するまで refuse として扱います。v2.1.248 より前では、Claude Code は警告なしに認識しない値を無視していました。
disableAgentView
バックグラウンドエージェントとエージェントビューをオフにします:claude agents、--bg、/background、およびオンデマンドスーパーバイザー。管理設定で設定して、組織に対して強制します。
- スコープ:
任意のファイル - タイプ: ブール値
true: Claude Code はclaude agents、--bg、/background、およびオンデマンドスーパーバイザーをオフにしますfalse: エージェントビューが利用可能です
- デフォルト: 未設定。エージェントビューが利用可能です
- セッションごとの上書き:
CLAUDE_CODE_DISABLE_AGENT_VIEWは 1 つのセッションのエージェントビューをオフにします。2 つのいずれかがそれをオフにすると、もう一方はそれをオンに戻すことはできません
settings.json
isolatePeerMachines
Claude の SendMessage がこのマシンを超えたセッションの 1 つに到達する前に、明示的な承認を要求します。クロスマシンメッセージの承認を要求するを参照してください。承認プロンプトは bypassPermissions モードでも表示されます。
- スコープ:
任意のファイル。任意のスコープからのtrueが適用されるため、チェックインされたプロジェクトファイルは要件をオンにできますがオフにはできません。 - タイプ: ブール値
true: Claude Code は Claude のSendMessageがこのマシンを超えたセッションの 1 つに到達する前に承認を求めますfalse: クロスマシンメッセージはプロンプトを表示しません
- デフォルト: 未設定。クロスマシンメッセージはプロンプトを表示しません
settings.json
SendMessage 承認には Claude Code v2.1.224 以降が必要です。
processWrapper
macOS と Linux では、Claude Code が開始するバックグラウンドプロセスの前に企業ランチャーコマンドを配置します。Claude Code はランチャーを独自のコマンドラインを追加して実行するため、ランチャーは Claude Code に exec する必要があります。企業ランチャーの背後で Claude Code を実行するを参照してランチャーコントラクトを確認してください。Claude Code v2.1.210 以降が必要です。
- スコープ:
ユーザーまたは管理 - タイプ: 文字列、argv プレフィックスとしてのランチャーコマンド(絶対パスとオプション引数など)
- デフォルト: 未設定。バックグラウンドプロセスはラップされずに開始されます
- セッションごとの上書き:
CLAUDE_CODE_PROCESS_WRAPPERはこのキーより優先され、1 つのセッションに適用されます
settings.json
teammateMode
Claude Code がエージェントチームのチームメイトを表示する場所を選択します:メインターミナルペイン内、またはターミナルがサポートしている場合は分割ペイン内。表示モードを選択するを参照してください。
- スコープ:
任意のファイル。Claude Code は古いバージョンによって~/.claude.jsonに残された値も読み込みます。 - タイプ: 文字列、以下のいずれか:
"in-process": チームメイトはメインターミナルペイン内で実行されます"auto": tmux 内で実行している場合、またはPATHにit2がある iTerm2 内で実行している場合、または tmux がインストールされている場合は分割ペイン。それ以外の場合はインプロセス"tmux": ターミナルから検出された tmux または iTerm2 を使用して分割ペイン"iterm2":it2CLI を通じた iTerm2 ネイティブ分割ペイン
- デフォルト:
"in-process" - セッションごとの上書き:
--teammate-modeはこのキーより優先され、1 つのセッションに適用されます
settings.json
worktree
Claude Code が --worktree、EnterWorktree ツール、および分離されたサブエージェントとバックグラウンドセッションの git worktree を作成および管理する方法を設定します。
- スコープ:
任意のファイル - タイプ:
baseRef、symlinkDirectories、sparsePaths、およびbgIsolationを含むオブジェクト - デフォルト: 未設定
HEAD から新しい worktree をブランチし、各 worktree に node_modules をシンボリックリンクします:
settings.json
.env のような gitignore されたファイルを新しい worktree にコピーするには、設定の代わりに .worktreeinclude ファイルをプロジェクトルートに追加します。
worktree.baseRef
新しい worktree がブランチする ref を選択します。"fresh" は origin/<default-branch> からブランチして、リモートと一致するクリーンツリーを取得します。"head" は現在のローカル HEAD からブランチするため、プッシュされていないコミットとフィーチャーブランチの状態が worktree に存在します。
- スコープ:
任意のファイル - タイプ: 文字列、以下のいずれか:
"fresh": 新しい worktree はorigin/<default-branch>からブランチします"head": 新しい worktree は現在のローカルHEADからブランチします(プッシュされていないコミットを含む)
- デフォルト:
"fresh"
settings.json
"head" はメインチェックアウトの HEAD ではなく、その worktree の HEAD に解決されます。
worktree.symlinkDirectories
メインリポジトリからディレクトリを各 worktree にシンボリックリンクして、ディスク上の大きなディレクトリを複製しないようにします。
- スコープ:
任意のファイル - タイプ: 文字列の配列、リポジトリルートに相対的なディレクトリパス
- デフォルト: 未設定。Claude Code はディレクトリをシンボリックリンクしません
node_modules と .cache をすべての新しい worktree にシンボリックリンクします:
settings.json
worktree.sparsePaths
git sparse-checkout を通じて各 worktree にリストされたディレクトリのみをチェックアウトします。Claude Code はそれらのディレクトリとルートレベルのファイルのみをディスクに書き込みます。これは大規模なモノレポでより高速です。必要なディレクトリのみをチェックアウトするを参照してください。
- スコープ:
任意のファイル - タイプ: 文字列の配列、リポジトリルートに相対的なディレクトリパス
- デフォルト: 未設定。各 worktree はツリー全体をチェックアウトします
packages/my-app と shared/utils のみをチェックアウトします(ルートレベルのファイルを含む):
settings.json
.git/config で extensions.worktreeConfig を有効にします。
worktree.bgIsolation
バックグラウンドセッションがファイル編集を分離する方法を選択します。← または /background でセッションをバックグラウンドに移動した場合、このキーの値にかかわらず、そのセッションはファイルをその場で編集します。"worktree" では、Claude Code はセッションが EnterWorktree を呼び出すまでメインチェックアウトで Edit と Write をブロックします。"none" では、バックグラウンドジョブはワーキングコピーを直接編集します。git worktree が実用的でないリポジトリの場合は "none" を設定します。
- スコープ:
任意のファイル - タイプ: 文字列、以下のいずれか:
"worktree": Claude Code はセッションがEnterWorktreeを呼び出すまでメインチェックアウトでEditとWriteをブロックします"none": バックグラウンドジョブはワーキングコピーを直接編集します
- デフォルト:
"worktree"
settings.json
WorktreeCreate フックがブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。
worktree.location
Desktop の SSH セッションが worktree を作成するリモートマシン上のフォルダーを、<project-root>/.claude/worktrees/ の代わりに選択します。このキーを読み込むのはデスクトップアプリのみです。--worktree、EnterWorktree ツール、分離されたサブエージェント、およびバックグラウンドセッションはこのキーを無視します。Claude Desktop v1.44121.0 以降が必要です。
- スコープ:
ユーザー、リモートマシン上の~/.claude/settings.json内 - タイプ: 文字列、絶対パスまたは
~/で始まるパス - デフォルト: 未設定。worktree はプロジェクト内に作成されます
~/worktrees に設定します:
settings.json
リモート、デスクトップ、および通知
Remote Control、クラウド環境、デスクトップアプリ、および Claude Code が必要な場合に送信する通知を設定します。Remote Control を参照してください。agentPushNotifEnabled
Claude が送信する価値があると判断した場合(たとえば、長いタスクが完了した場合など)に、電話にプッシュ通知を送信することを Claude に許可します。Claude は Remote Control が接続されている間に通知を送信できます。/config では Push when Claude decides として表示されます。そこで変更すると、Claude Code はその値をアカウントにも保存します。
- Scope:
Any file。Claude Code は古いバージョンによって~/.claude.jsonに残された値も読み取ります。 - Type: Boolean
true: Claude は価値があると判断した場合に電話にプッシュ通知を送信できますfalse: Claude はそれらの通知を送信しません
- Default:
false
settings.json
claude remote-control サーバーの下でセッションを実行する場合、それらのセッションはこのキーではなく、アカウントに保存された値に従います。その値を変更するには、ターミナルの Claude Code セッションで /config を実行し、Push when Claude decides をオンまたはオフにします。トグルがすでに目的の値を示している場合は、一度切り替えてから元に戻し、Claude Code がその値をアカウントに保存するようにします。
Mobile push notifications を参照してください。
awaySummaryEnabled
数分間離れた後にターミナルに戻ったときに、1 行のセッション要約を表示します。false に設定するか、/config で Session recap をオフにして、要約を停止します。
- Scope:
Any file - Type: Boolean
true: 数分間離れた後に戻ったときに、1 行のセッション要約が表示されますfalse: Claude Code は要約を表示しません
- Default: 未設定なので、要約はオンです
- Per-session overrides:
CLAUDE_CODE_ENABLE_AWAY_SUMMARYはこのキーより優先され、どちらの方向でも 1 セッションに適用されます
settings.json
disableArtifact
代わりに enableArtifact を使用して、セッション出力を claude.ai 上のプライベート Web ページとして公開する Artifact ツールをオフにします。/config で Artifacts 行をオフにすると、Claude Code はユーザー設定に enableArtifact を書き込み、このキーをクリアします。
- Scope:
Any file - Type: Boolean
true: Claude Code はファイルが適用されるすべてのセッションに対して Artifact ツールをオフにし、他のファイルはそれをオンに戻しませんfalse: 無視されます。ツールをオンのままにするには、キーを削除します
- Default: 未設定なので、ツールはアカウントの availability に従います
- Per-session overrides:
CLAUDE_CODE_DISABLE_ARTIFACTを1に設定すると、1 つのセッションのツールがオフになります
settings.json
disableDeepLinkRegistration
Claude Code が claude-cli:// プロトコルハンドラーをオペレーティングシステムに登録することを停止します。通常、対話セッションの最初のプロンプトを送信した後に登録されます。Deep links により、外部ツールは事前入力されたプロンプトで Claude Code セッションを開くことができます。プロトコルハンドラー登録が制限されているか、別途管理されている環境でこれを設定します。
- Scope:
Any file - Type: 文字列
"disable" - Default: 未設定なので、Claude Code はハンドラーを登録します
settings.json
disableDesktopLocalSessions
開発者が SSH 経由でリモートマシンで作業する必要があるデプロイ向けに、デスクトップアプリ でデバイス上で実行される Code セッションをオフにします。キーを true に設定すると、ユーザーには Code タブで次のように表示されます:
- 環境セレクター: ユーザーのコンピューターのエントリはグレーアウトされて選択できなくなり、ツールチップ Disabled by your organization が表示されます。Windows では WSL エントリも同じようにグレーアウトされますが、WSL セッションが管理対象デバイスで実行されるかどうか自体は 別途管理されます。
- 新しいセッション: 設定されている場合は、最初の SSH 接続 がデフォルトになります
- デバイス上のセッション: アプリは、同じマシンへの SSH 接続を含め、デバイス上でのセッションの開始または再開を拒否します
- 他のホストへの SSH セッションとクラウドセッション: 影響を受けません
- Scope:
Managed。デフォルトでは、デスクトップアプリは 1 つの管理ソース からキーを読み取ります。 - Type: Boolean。JSON Boolean
trueのみが有効ですtrue: デスクトップアプリはオンデバイスコードセッションを提供しません。既存のローカルセッションはリストに残りますが、続行できませんfalse: ローカルセッションは利用可能なままです
- Default: 未設定なので、ローカルセッションは利用可能です
managed-settings.json
"true" や 1 などの Boolean ではない値も警告をログに記録します。sshConfigs とペアにして、ユーザーが機能する接続にアクセスし、sshHostAllowlist とペアにして、到達できるホストを制限します。Local sessions on managed devices を参照してください。
Claude Desktop は、デスクトップ設定から派生したポリシー(たとえば、エグレス許可リスト、ファイルシステムサンドボックス、サードパーティデプロイメント内の MCP 制限など)を使用して Code セッションを提供します。Claude Code は、管理ソース が存在する場合(サーバー管理設定、MDM または OS レベルのポリシー、またはマネージド設定ファイル)、常にそれらの親設定を無視します。サードパーティデプロイメントのように、以前にないデバイスにこのキーをデプロイすると、デスクトップ派生ポリシーが適用されなくなります。Let an embedding host add policy は、親設定がまだマージできる場合をカバーしています。これは、このキーだけでなく、その方法でデプロイするすべてのキーに適用されます。
disableRemoteControl
Remote Control をオフにします。Claude Code は claude remote-control、--remote-control フラグ、自動開始、およびセッション内トグルを拒否し、組織のポリシーがそれを無効にしたことを報告します。マネージド設定 に配置して、デバイスごとの MDM 強制を行います。
- Scope:
Any file - Type: Boolean
true: Claude Code はclaude remote-control、--remote-controlフラグ、自動開始、およびセッション内トグルを拒否しますfalse: Remote Control は利用可能なままです
- Default:
false
settings.json
enableArtifact
セッション出力を claude.ai 上のプライベート Web ページとして公開する Artifact ツールをオフにします。/config で Artifacts 行をオフにすると、Claude Code はこのキーをユーザー設定に書き込むため、通常は手動で編集しません。
- Scope:
Any file。すべてのファイルはツールをオフにでき、どのファイルもそれをオンに戻すことはできません。 - Type: Boolean
false: Claude Code はファイルが適用されるすべてのセッションに対して Artifact ツールをオフにしますtrue: キーを未設定のままにするのと同じです。別のファイルからのfalse、CLAUDE_CODE_DISABLE_ARTIFACT、または組織の 管理設定 をオーバーライドしないためです
- Default: 未設定なので、ツールはアカウントの availability に従います
settings.json
/config で Artifacts 行を非表示にします。そこでオンにしても何も変わらないためです。Disable artifacts はツールをオフにするすべての方法を一覧表示します。
inputNeededNotifEnabled
権限プロンプトまたは質問が入力を待っているときに、電話にプッシュ通知を取得します。Claude Code はこれらを Remote Control が接続されている間のみ送信します。/config では Push when actions required として表示されます。
- Scope:
Any file。Claude Code は古いバージョンによって~/.claude.jsonに残された値も読み取ります。 - Type: Boolean
true: Remote Control が接続されている間、権限プロンプトまたは質問が入力を待っているときに、電話にプッシュ通知が届きますfalse: Claude Code はそのような通知を送信しません
- Default:
false
settings.json
preferredNotifChannel
タスクが完了したときまたは権限プロンプトが待機しているときに Claude Code が通知する方法を選択します。mod の通知 も同じ設定を使用します。/config では Local notifications として表示されます。
- Scope:
Any file。Claude Code は古いバージョンによって~/.claude.jsonに残された値も読み取ります。 - Type: 文字列、以下のいずれか:
"auto": Claude Code は iTerm2、Ghostty、Kitty でデスクトップ通知を送信し、Terminal.app でのみ可聴ベルがオフの場合にベルを鳴らし、他の場所では何もしません"terminal_bell": Claude Code は任意のターミナルでベル文字を鳴らします"iterm2": Claude Code は iTerm2 デスクトップ通知を送信します"iterm2_with_bell": Claude Code は iTerm2 デスクトップ通知を送信し、ベルを鳴らします"kitty": Claude Code は Kitty デスクトップ通知を送信します"ghostty": Claude Code は Ghostty デスクトップ通知を送信します"notifications_disabled": Claude Code は通知を送信しません
- Default:
"auto"
settings.json
"auto" では、Claude Code は iTerm2、Ghostty、Kitty でデスクトップ通知を送信します。Terminal.app では、Terminal の可聴ベルをオフにした場合のみベル文字を鳴らし、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには "terminal_bell" を設定します。Get a terminal bell or notification を参照してください。
remote.defaultEnvironmentId
claude --cloud などの CLI から作成するクラウドセッション用のデフォルト クラウド環境 を選択します。Claude Code は /remote-env で環境を選択するときに、このキーをユーザー設定に書き込みます。
- Scope:
Any file。自己ホスト環境 ID の場合、ユーザーまたはマネージド設定、または--settingsフラグのみ。 - Type: 文字列、
env_...またはccpool_...などの環境 ID - Default: 未設定なので、Claude Code はリストに Anthropic ホスト環境がある場合はそれを使用し、そうでない場合は Remote Control ブリッジ環境 ではないリスト内の最初の環境を使用するか、すべてがブリッジ環境の場合は最初の環境を使用します
- Per-session overrides:
--environmentはこのキーより優先され、作成する 1 つのクラウドセッションに適用されます
settings.json
env_ で始まる Anthropic ホスト環境 ID は標準設定の優先度に従うため、リポジトリのプロジェクト設定の値がユーザーレベルの選択をオーバーライドします。ccpool_ で始まる 自己ホスト環境 ID は、ユーザー設定、マネージド設定、および --settings フラグからのみ尊重されます。Claude Code はリポジトリのプロジェクトまたはローカル設定のものを無視し、/remote-env は無視した値を表示するため、チェックインされたファイルは選択しなかった自己ホスト環境にセッションをステアリングできません。
remoteControlAtStartup
各対話セッションの開始時に Remote Control を自動的に接続します。/remote-control を待つ代わりに。自動接続をオンにするには true に設定し、オフにするには false に設定します。/config では Enable Remote Control for all sessions として表示されます。
- Scope:
Any file。Claude Code は古いバージョンによって~/.claude.jsonに残された値も読み取ります。 - Type: Boolean
true: Claude Code は各対話セッションの開始時に Remote Control を自動的に接続しますfalse: Claude Code は/remote-controlを待ちます
- Default: 未設定なので、自動接続デフォルト が適用されます
- Per-session overrides:
--remote-controlはこのキーがfalseの場合でも 1 つのセッションに対して Remote Control をオンにし、フラグは 1 つのセッションに対してそれをオフにしません
settings.json
true を無視するため、リポジトリはそのチェックアウトの自動接続をオフにできますが、オンにすることはできません。完全なスコープごとの動作については、Enable Remote Control for all sessions および より厳密な値が適用されるセキュリティキー を参照してください。
sshConfigs
Desktop の環境セレクターに SSH 接続を追加します。管理者は sshConfigs を使用して、共有接続をチームに配布します。ユーザーは管理対象の接続を選択し、それに対して 独自の Worktree folder を設定 できます。アプリでそれ以外のフィールドを編集したり、接続を削除したりすることはできません。
- Scope:
User or managed。デスクトップアプリはこのキーを読み取ります。デフォルトでは、管理対象の接続を 1 つの管理ソース から読み取ります。 - Type: オブジェクトの配列。各オブジェクトは必須の
id、name、sshHostと、オプションのsshPortおよびsshIdentityFileを持ちます - Default: 未設定
user@dev.example.com に接続する Dev VM という名前の 1 つの接続を追加します:
settings.json
sshHostAllowlist
Desktop SSH セッション が接続できるホストを制限します。デスクトップアプリのみがこのキーを読み取ります。CLI は読み取りません。パターンは大文字と小文字を区別しません。* は任意のホストに一致し、*.example.com は example.com とすべてのサブドメインに一致し、その他は ~/.ssh/config 解決後のホスト名に対する完全一致です。空の配列は SSH セッションをオフにします。
Claude Desktop v3.1623.0 以降では、セッションの ジャンプホスト もパターンに一致する必要があります。
- Scope:
Managed。デフォルトでは、Desktop は 1 つの管理ソース からキーを読み取ります。 - Type: ホスト名パターンの配列
- Default: 未設定なので、任意のホストが許可されます
devboxes.example.com とそのサブドメイン、および正確なホスト bastion.example.com を許可します:
managed-settings.json
true やオブジェクトなど、Desktop がホストのリストとして読み取れない値は、修正するまで空の配列として扱われます。ただし null は未設定として扱われます。Claude Desktop v2.26454.0 以降が必要です。
最上位のソースで managedSourcesBehavior を "merge" に設定すると、Desktop はすべての 管理ソース のリストを結合し、いずれかに一致するホストを許可します。あるソースで空の配列を設定しても、別のソースがリストしているホストに対しては SSH セッションはオンのままです。
sshHostCommands
コマンドからホストを取得する SSH 接続を Desktop の環境セレクターに追加します。接続を作成するとき、またはそのホストを置き換えるとき、Desktop はエントリのコマンドをコンピューター上で実行し、コマンドが出力したホストに接続します。macOS または Linux 上で Claude アカウントにサインインした状態の Claude Desktop v3.6556.0 以降が必要です。
- Scope:
User or managed。このキーを読み取るのはデスクトップアプリのみです。管理対象のエントリはコンピューター上の 1 つの管理設定ファイルまたは MDM ポリシー から読み取り、サーバー管理設定 内のこのキーは無視します。 - Type: オブジェクトの配列。各オブジェクトは必須の
id、name、commandと、オプションのsshIdentityFileおよびstartDirectoryを持ちます。Desktop はcommandをシェルなしで起動するため、プログラムとプレーンな引数として記述してください。 - Default: 未設定
Dev box という名前の 1 つの接続を追加します。acme-dev create は独自のツールを表します:
settings.json
Unrecognized field: sshHostCommands を表示していました。これらのバージョンでは、代わりにテキストエディターでキーを追加してください。Claude Code はこのキーを含むファイルを読み込みます。Desktop で対象となるバージョンは、ターミナルのバージョンではなく Code タブの Claude Code バージョン です。
認証とプロバイダー
ヘルパースクリプトを通じて認証情報を提供し、組織の場合はログイン方法または組織を強制します。認証を参照してください。allowedProviders
マシンが Claude に到達できるサービス(Anthropic API、Amazon Bedrock、LLM ゲートウェイなど)をリストアップします。リストに記載されていないプロバイダー上のセッションは、スタートアップ時、ログイン時、および次に API に接続するときに拒否されるため、セッション中にリストに記載されていないプロバイダーに切り替えることも拒否されます。拒否メッセージには、プロバイダーを選択したものと続行するためのステップが記載されています。Claude Code v2.1.285 以降が必要です。
- スコープ:
Managed。マシン自身の管理者ソース(MDM ポリシーおよび管理設定ファイル)が設定したリストは、サーバー管理設定もリストを配信する場合でも適用され続けます。その場合、セッションは両方のリスト上のプロバイダーのみを使用できるため、サーバー管理リストはマシンが許可するものを狭めることはできますが、広げることはできません。マシンソースのallowedProvidersのどれが数えられるかは、Claude Code が管理ソースを組み合わせる方法に従います。サーバー管理設定のみを通じて配信されたリストは、サーバー管理設定を取得するセッションのみに到達します。 - タイプ: 文字列の配列。各要素は以下のいずれか:
"anthropic": claude.ai または Console サインイン、または API キーを通じた Anthropic 独自のホスト上の Anthropic API。forceLoginMethodまたはforceLoginOrgUUIDと組み合わせてサインインも制限します"bedrock": Amazon Bedrock"vertex": Google Cloud の Agent Platform(旧 Vertex AI)"foundry": Microsoft Foundry"anthropicAws": AWS 上の Claude Platform"mantle": Amazon Bedrock Mantle エンドポイント。Invoke API と並行して Mantle を実行するセッションは両方のプロバイダーを使用するため、"bedrock"と"mantle"をまとめてリストアップします"customEndpoint": 別のホストに送信される Anthropic API またはクラウドプロバイダーの API。ANTHROPIC_BASE_URLや、ANTHROPIC_BEDROCK_BASE_URLなどのプロバイダーのエンドポイント変数で指定された LLM ゲートウェイなどです。Claude Code はそれを管理envブロックがピンで留めた正確な値に対してのみ許可します"gateway": Cloud ゲートウェイサインイン
- デフォルト: 未設定。任意のプロバイダーを使用できます
managed-settings.json
管理 env でピンが必要なエンドポイント
ピンは、管理 env ブロックで設定されたエンドポイント変数の値です。セッションがプロバイダーのトラフィックをそのプロバイダー独自のサービス以外の場所に送信する場合、Claude Code はセッションの値がピンと同じ場合にのみそれを許可します。これらのエンドポイントには 1 つが必要です:
"customEndpoint"セッション: ホストを指定する変数(ANTHROPIC_BASE_URLなど)- Amazon Bedrock: AWS SDK の
AWS_ENDPOINT_URL、AWS_ENDPOINT_URL_BEDROCK、およびAWS_ENDPOINT_URL_BEDROCK_RUNTIME変数が Bedrock 独自のサービス外を指す場合。セッションは"customEndpoint"ではなく"bedrock"の下に留まります - ゲートウェイサインイン URL: セッションは
"gateway"の下に留まり、forceLoginGatewayUrlもピンとしてカウントされます
env ブロックがピンとしてカウントされるかは、リストが設定されている場所によって異なります:
- マシン上の管理者ソースがリストを設定: マシン独自の管理者ソースの
envブロックのみがカウントされます - サーバー管理設定のみがリストを設定: これらのサーバー管理設定の
env値もカウントされます
HTTPS_PROXY と証明書設定などのネットワークパスを判定しません。管理 env ブロックでフリート用にそれらを設定します。
apiKeyHelper
Claude Code がモデルリクエストで送信する認証情報を生成するために独自のコマンドを実行します。Claude Code はコマンドをシステムシェル(macOS と Linux では /bin/sh、Windows では cmd)を通じて実行し、その出力を X-Api-Key ヘッダーと Authorization: Bearer ヘッダーの両方として送信します。ボールトから取得した短期トークンなど、動的または回転する認証情報に使用します。
- スコープ:
Any file - タイプ: 文字列、シェルコマンドライン
- デフォルト: 未設定。Claude Code はヘルパーを実行しません
settings.json
- キャッシュの有効期限後。デフォルトは 5 分、または
CLAUDE_CODE_API_KEY_HELPER_TTL_MSで設定した間隔 - Anthropic API へのリクエスト(直接または LLM ゲートウェイ経由)が
401または403で失敗した場合 - Anthropic API へのリクエスト(直接または LLM ゲートウェイ経由)を送信する前に、キャッシュされた出力がヘルパーが生成した後に期限切れになった JWT である場合。Claude Code v2.1.246 以降が必要です。
ANTHROPIC_AUTH_TOKEN が設定されていない場合にのみ適用されます。
インタラクティブセッションでは、コマンドがプロジェクトまたはローカル設定から来ている場合、Claude Code はワークスペーストラストプロンプトを受け入れるまでコマンドを実行しません。認証情報管理を参照してください。
awsAuthRefresh
aws sso login などの独自のコマンドを実行して、Claude Code が Amazon Bedrock に対して持つ認証情報が機能しなくなったときに .aws ディレクトリの認証情報をリフレッシュします。Claude Code は最初に現在の認証情報を STS に対してチェックし、そのチェックが失敗した場合にのみコマンドを実行してから、リフレッシュされた .aws ディレクトリを読み取ります。
同じコマンドと認証情報を使用する複数の Claude Code プロセス(別々のターミナルや IDE ウィンドウなど)で同時にチェックが失敗した場合、1 つのプロセスがコマンドを実行し、残りのプロセスは独自に実行を開始する代わりにその実行を待機します。リクエストを保留したまま 60 秒間待機したプロセスは、自らコマンドを実行します。この動作をオフにするには、CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK を 1 に設定します。
- スコープ:
Any file - タイプ: 文字列、シェルコマンドライン
- デフォルト: 未設定。Claude Code は AWS 認証情報をリフレッシュしません
settings.json
.aws に書き込む場合はこのキーを使用します。代わりに認証情報を出力する場合は awsCredentialExport を使用します。高度な認証情報設定を参照してください。
awsCredentialExport
AWS 認証情報を JSON として出力する独自のコマンドを実行して、Claude Code が .aws ディレクトリに存在しない認証情報で Amazon Bedrock を呼び出すことができるようにします。Claude Code は aws sts 出力形式とフラットな aws configure export-credentials 形式を受け入れ、認証情報を独自の Bedrock クライアントにスコープするため、Claude Code が実行するシェルコマンドは引き続き環境の認証情報を参照します。
- スコープ:
Any file - タイプ: 文字列、シェルコマンドライン
- デフォルト: 未設定。Claude Code は環境の AWS 認証情報チェーンを使用します
settings.json
awsAuthRefresh とは異なり、Claude Code はこのコマンドが設定されている場合、環境の認証情報を最初にチェックせずに常に実行します。高度な認証情報設定を参照してください。
forceLoginMethod
ユーザーがログインできるアカウントの種類を制限します。"claudeai" を設定して claude.ai アカウントのみを許可するか、"console" を設定して Claude Console アカウントのみを許可するか、"gateway" を設定してファーストパーティログインの代わりに クラウドゲートウェイにユーザーを送信します。管理者は管理設定で設定し、forceLoginOrgUUID と組み合わせて開発者の claude.ai ログインを 1 つの組織内に保つことができます。任意の設定ファイルで "claudeai" または "console" に設定した場合、Claude Code はそのファイルが適用されるセッションで キーレス Console サインインの提供も停止します。
- スコープ:
Any file。Claude Code は"gateway"をforceLoginGatewayUrlと同じソースからのみ受け入れ、それ以外の場所では未設定として扱います。 - タイプ: 文字列、以下のいずれか:
"claudeai": claude.ai アカウントのみがログインできます"console": Claude Console アカウントのみがログインできます"gateway": Claude Code はユーザーをファーストパーティログインの代わりにクラウドゲートウェイに送信します
- デフォルト: 未設定。ユーザーはログイン方法を選択します
settings.json
claude setup-token、および /install-github-app を含みます。ただし、ターミナルのインタラクティブログイン画面(/login または初回実行オンボーディングで到達)は、メソッドを事前選択しますが強制しません。v2.1.212 より前は、ターミナルログインのみが適用されていました。ログインを組織に制限するを参照して、各ログインパス、環境認証情報、およびサードパーティプロバイダーがどのように処理されるかを確認してください。
マシン上の管理ソースが "gateway" を設定する場合、Claude Code は残されたログイン、API キー、または apiKeyHelper 認証情報を使用しません。各メッセージについては 管理者ポリシーがクラウドゲートウェイサインインを必要としますを参照してください。CLAUDE_CODE_USE_BEDROCK または同様の環境変数を通じてクラウドプロバイダーを選択する場合、セッションはゲートウェイサインインを必要としません。v2.1.261 より前は、Claude Code はこれらのマシンで残されたログインを使用していました。
forceLoginGatewayUrl
/login クラウドゲートウェイ画面が接続するゲートウェイ URL を設定して、ユーザーがアドレスを入力せずに クラウドゲートウェイに到達できるようにします。画面には URL フィールドがありません。このキーが設定されている場合、ゲートウェイ URL を表示し、ユーザーが Enter キーを押すと接続します。設定されていない場合、IT 管理者に連絡するよう指示します。
管理設定では、このキーまたは forceLoginMethod: "gateway" のいずれかにより、CLAUDE_CODE_USE_* でクラウドプロバイダーを選択するセッションを除き、マシンはゲートウェイのみになります。その場合、/login はログイン方法ピッカーなしでクラウドゲートウェイ画面で開きます。残されたファーストパーティログインまたは API キーに何が起こるかについては、管理者ポリシーがクラウドゲートウェイサインインを必要としますを参照してください。画面がエラーを表示する代わりに接続するように、両方のキーを設定します。
- スコープ:
User or managed。マシン上の管理ソースから読み取ります。managed-settings.json、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー。これらのいずれもないマシンでは、Claude Code v2.1.295 以降は ユーザー設定からも読み取ります。Claude Code は HKCU およびサーバー管理設定では無視します。 - タイプ: 文字列、スキームを含む完全な URL
- デフォルト: 未設定。クラウドゲートウェイ画面は IT 管理者に連絡するよう指示するエラーを表示します
managed-settings.json
forceLoginOrgUUID
管理ソースから、claude.ai アカウントログインが 1 つの Anthropic 組織(単一の UUID として指定)または複数の組織(配列として指定)に属することを要求します。任意の設定ファイルから、Claude Code は単一の UUID を使用して claude.ai または Claude Console ログイン中にその組織を事前選択し、配列の場合は何も事前選択しません。任意の設定ファイルでキーを設定する場合、Claude Code はそのファイルが適用されるセッションで キーレス Console サインインの提供も停止し、代わりに API キーを作成します。
- スコープ:
Any file。管理ソースのみが制限を強制します。他の設定ファイルの単一の UUID は、制限なしにログイン中に組織を事前選択します。 - タイプ: 文字列、1 つの UUID、または文字列の配列、複数の UUID
- デフォルト: 未設定。任意の組織がログインできます
managed-settings.json
forceLoginOrgUUID を名指しし、管理者に連絡するよう指示するメッセージが表示されます。誤った型の値を出力する policyHelper の場合は、代わりにその実行が失敗します。
ログインを組織に制限するを参照して、Claude Code が Claude Console ログイン、他のログインパス、および環境認証情報をどのように扱うかを確認してください。
gatewayInternalNetworks
組織が内部ネットワークに番号を付ける公開 IPv4 ブロックを宣言して、/login が クラウドゲートウェイをそこで受け入れるようにします。Claude Code v2.1.268 以降が必要です。
このキーがない場合、/login はプライベートアドレス上のゲートウェイのみに接続し、それ以外には接続しません。このキーがある場合、/login はリストされたブロック内のゲートウェイも受け入れます。直接接続のみです。その接続上のマシン自身のアドレスも同じブロック内にある必要があります。
- スコープ:
Managed。マシン上のソースからのみ読み取ります。managed-settings.json、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー。Claude Code は HKCU およびサーバー管理設定では無視します。 - タイプ: 文字列の配列、最大 4 つの IPv4 CIDR ブロック、各
/8から/32、互いに重複しない、およびプライベートスペースと重複しない - デフォルト: 未設定。
/loginはプライベートアドレス上のゲートウェイのみを受け入れます
managed-settings.json
/login は問題を名前で指定し、値を修正するまでマシン上のすべての新しいゲートウェイサインインを拒否します。既存のサインインは機能し続けます。完全なルールと開発者が見るものについては、所有する公開アドレススペース上のゲートウェイを許可するを参照してください。
gcpAuthRefresh
Claude Code が Google Cloud Application Default Credentials の有効期限が切れているか読み込めないことを検出したときにリフレッシュするために独自のコマンドを実行して、Google Cloud の Agent Platform リクエストが手動で再認証することなく機能し続けるようにします。
同じコマンドと認証情報を使用する複数の Claude Code プロセス(別々のターミナルや IDE ウィンドウなど)が同時に認証情報の期限切れを検出した場合、1 つのプロセスがコマンドを実行し、残りのプロセスは独自に実行を開始する代わりにその実行を待機します。リクエストを保留したまま 60 秒間待機したプロセスは、自らコマンドを実行します。この動作をオフにするには、CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK を 1 に設定します。
- スコープ:
Any file - タイプ: 文字列、シェルコマンドライン
- デフォルト: 未設定。Claude Code の認証情報エラーは
gcloud auth application-default loginを自分で実行するよう指示します
settings.json
otelHeadersHelper
Claude Code が OpenTelemetry エクスポートで送信するヘッダーを生成するために独自のコマンドを実行します。トークンが回転するバックエンド用です。Claude Code はスタートアップ時と定期的にその後実行し、stdout で文字列ヘッダー値の JSON オブジェクトを期待します。
- スコープ:
Any file - タイプ: 文字列、実行可能パスまたはシェルコマンドライン
- デフォルト: 未設定。Claude Code はヘルパー生成ヘッダーを追加しません
settings.json
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS でリフレッシュ間隔を設定します。スクリプトの要件とヘルパーが失敗した場合の動作については、動的ヘッダーを参照してください。
アップデートとバージョン管理
アップデートチャネルを選択し、組織の場合はユーザーが実行できるバージョンをピン留めします。Claude Code を更新を参照してください。autoUpdatesChannel
リリースチャネルをバックグラウンド自動更新と claude update が従うかを選択します。通常約 1 週間前のバージョンで、大きな回帰を含むリリースをスキップする "stable" を設定するか、最新リリースの "latest" を設定します。
- スコープ:
Any file。組織全体で 1 つのチャネルを強制するために、管理設定で設定します。 - タイプ: 文字列、以下のいずれか:
"latest":更新は最新リリースに従う"stable":更新は通常約 1 週間前のバージョンに従い、大きな回帰を含むリリースをスキップする
- デフォルト: 未設定の場合、Claude Code は
"latest"に従う
settings.json
/config の Auto-update channel で選択すると、ユーザー設定に "stable" を書き込み、そこで最新に戻すとキーを削除します。claude install stable と claude install latest も、指定したチャネルを保存します。/config で "latest" から "stable" に切り替えると、ダウングレードを許可するか現在のバージョンにとどまるかを尋ねます。とどまることを選択すると、minimumVersion が設定されます。Homebrew インストールはこのキーを無視します:claude-code cask は stable を追跡し、claude-code@latest は latest を追跡し、claude update は brew upgrade に従います。自動更新を完全に無効にするには、env で DISABLE_AUTOUPDATER を設定します。
minimumVersion
バックグラウンド自動更新と claude update がこれより下のバージョンをインストールするのを防ぎます。これにより、"stable" チャネルに移動しても、より新しい "latest" ビルドからダウングレードされません。Claude Code は /config でチャネルを切り替えながら現在のバージョンにとどまることを選択すると、このキーを書き込み、"latest" に戻すと削除します。
- スコープ:
Any file。ユーザーおよびプロジェクト設定が低下させることができない、組織全体の最小値をピン留めするために、管理設定で設定します。 - タイプ: 文字列、
"2.1.100"などのバージョン番号。有効なバージョンではない値は無視されます - デフォルト: 未設定の場合、更新はチャネルが提供するすべてのバージョンをインストールできる
settings.json
requiredMinimumVersion を使用します。最小バージョンをピン留めするを参照してください。
requiredMaximumVersion
組織が起動を許可する最新の Claude Code バージョンを設定します。実行中のバージョンがより新しい場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて承認されたバージョンをインストールするよう指示します。claude install <version> も機能する場合があります。Claude Code v2.1.163 以降が必要です。
- スコープ:
Managed。Claude Code は他の場所でキーを無視するときに警告を表示しません。 - タイプ: 文字列、
"2.1.150"などのバージョン番号。有効なバージョンではない値は無視されます - デフォルト: 未設定の場合、上限は適用されません
managed-settings.json
claude update は上限より上のバージョンをスキップするため、範囲内のインストールは範囲内にとどまります。claude update、claude install、および claude doctor は、ユーザーが復旧できるように上限より上で機能し続けます。requiredMinimumVersion とペアにして、範囲を強制します。
requiredMinimumVersion
組織が起動を許可する最も古い Claude Code バージョンを設定します。実行中のバージョンがより古い場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて更新するよう指示します。チェックは起動時のみ実行されるため、既に実行中のセッションは続行されます。Claude Code v2.1.163 以降が必要です。
- スコープ:
Managed。Claude Code は他の場所でキーを無視するときに警告を表示しません。 - タイプ: 文字列、
"2.1.150"などのバージョン番号。有効なバージョンではない値は無視されます - デフォルト: 未設定の場合、下限は適用されません
managed-settings.json
claude update、claude install、および claude doctor は、ユーザーが復旧できるように下限より下で機能し続けます。ダウングレードのみを防ぐ minimumVersion とは異なり、このキーは起動をブロックします。requiredMaximumVersion とペアにして、範囲を強制します。
ツール
Claude Code デスクトップアプリで特定のツールをオフにします。ターミナル CLI はこれらのキーを無視します。ツール自体については、Claude が利用可能なツールを参照してください。browserExternalPageTools
デスクトップアプリのブラウザペインで、Claude がそのツールを使用して外部ページを読み取ったり、外部ページに対して操作したりするのを停止します。組織内のユーザーは引き続き外部サイトを自分で開くことができ、ローカル開発サーバープレビューは Claude のツールで引き続き機能します。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
- スコープ:
Managed - タイプ: 文字列、
"disabled"。デスクトップアプリは"disable"も受け入れます。どちらの場合でも同じです - デフォルト: 未設定。Claude のツールは外部ページで機能します
managed-settings.json
disableBrowserExternalNavigationを設定してください。組織の外部ブラウジングを制限するを参照してください。
disableBrowserExternalNavigation
デスクトップアプリのブラウザペインで、ユーザーと Claude の両方に対して外部ブラウジングをオフにします。Localhost 開発サーバープレビューは引き続き機能します。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
- スコープ:
Managed - タイプ: ブール値。JSON ブール値
trueのみが有効ですtrue: デスクトップアプリは、ブラウザペインでユーザーと Claude の両方に対して外部ブラウジングをオフにします。localhost プレビューは引き続き機能しますfalse: 外部ブラウジングはオンのままです
- デフォルト: 未設定。外部ブラウジングはオンです
managed-settings.json
"true"や1などのブール値ではない値も警告をログに記録します。外部ブラウジングはオンのままにしておきたいが、Claude のツールを外部ページでオフにしたい場合は、代わりにbrowserExternalPageToolsを設定してください。組織の外部ブラウジングを制限するを参照してください。
disableMobileSimulatorTools
デスクトップアプリのiOS シミュレータペインに対する Claude のツールをブロックします。ユーザーはペインの手動使用を継続できます。Claude のアクセスのみが削除され、アプリ内から誰もそれを再度オンにすることはできません。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
- スコープ:
Managed - タイプ: ブール値。JSON ブール値
trueのみが有効ですtrue: デスクトップアプリは iOS シミュレータペインに対する Claude のツールをブロックしますfalse: Claude のシミュレータツールは、デスクトップアプリ内の各ユーザーの設定トグルに従います
- デフォルト: 未設定。Claude のシミュレータツールは、デスクトップアプリ内の各ユーザーの設定トグルに従います
managed-settings.json
"true"や1などのブール値ではない値も警告をログに記録します。
プライバシーとテレメトリ
Claude Code がセッションデータをどのくらいの期間保持し、何を送信するかを制御します。使用メトリクスとエラーレポートをオフにするスイッチは、設定キーではなく環境変数です。env キーまたはシェルで DISABLE_TELEMETRY、DISABLE_ERROR_REPORTING、または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を設定します。テレメトリサービス では、各環境変数が何を停止するかについて説明しています。2 つの例外は設定ファイルからオフになります。以下の feedbackDrafts は Claude が作成したフィードバック用、および以下の feedbackSurveyRate はセッションサーベイ用です。
cleanupPeriodDays
Claude Code が セッショントランスクリプトおよび他のアプリケーションデータ を削除する前に保持する日数を設定します。Claude Code はセッション開始後にバックグラウンド削除を実行します。保持期間を安全に判定できる限り実行されます。削除スイープはメッセージを表示せずにトランスクリプトを削除するため、保持期間より長く使用していないセッションは /resume ピッカーに表示されなくなります。
- スコープ:
Any file - タイプ: 日数、整数、最小値
1 - デフォルト:
30
settings.json
0 を設定するとバリデーションが失敗するため、長期保持の場合は 3650 などの大きな値を選択してください。Claude Code がトランスクリプトを書き込まないようにするには、プレーンテキストストレージ を参照してください。
desktopSessionCleanupPeriodDays
Claude Desktop または Cowork で開始または最後に続行したセッションのトランスクリプトに対して、日数での年齢制限を設定します。このキーがない場合、Claude Code は それらのトランスクリプトを任意の年齢で保持します。Claude Code は各トランスクリプトが、この制限と cleanupPeriodDays の両方より古い場合に削除します。したがって、cleanupPeriodDays がデフォルトの 30 の場合、7 の値でも 30 日間保持されます。自動クリーンアップ には、代わりに cleanupPeriodDays が適用され、Claude Code がこのキーを無視するケースが記載されています。Claude Code v2.1.248 以降が必要です。
- スコープ:
User or managed。Claude Code は--settingsで渡すファイルからキーを読み込み、プロジェクトおよびローカル設定では無視します。 - タイプ: 日数、整数、最小値
0 - デフォルト:
0。年齢制限を設定しません
settings.json
feedbackDrafts
Claude が作成したフィードバック を制御します。Claude がレビュー用のフィードバックドラフトをキューに入れることができるかどうか、および Claude Code が Claude がドラフトをキューに入れたときにカードを表示するかどうかを制御します。
- スコープ:
User or managed - タイプ: 文字列。
"notify"、"quiet"、または"off"のいずれか"notify":Claude Code は Claude がドラフトをキューに入れたときにプロンプトの上にカードを表示します。デフォルトではセッションあたり 最大 3 枚のカード"quiet":Claude はカードなしでドラフトを作成します。プロンプトフッターでキューに入れられたドラフトの数を確認し、/feedbackでレビューします"off":Claude Code は SendFeedback ツールを削除するため、Claude はドラフトをキューに入れることができません
- デフォルト:
"notify" - セッションごとのオーバーライド:
CLAUDE_CODE_SEND_FEEDBACKを0に設定すると、1 つのセッションでこの機能がオフになります
settings.json
/config に Claude-drafted feedback として表示されます。これはこのキーをユーザー設定に書き込みます。/config 行は Claude がフィードバックドラフトを作成できるセッション でのみ表示されます。"off" を設定してもこれは非表示にならないため、同じ行から機能を再度オンにできます。管理設定の値はユーザー設定より優先されるため、管理者がこのキーを設定すると、行は管理値を表示し、変更しても効果がありません。Claude Code はプロジェクトおよびローカル設定でこのキーを無視します。
feedbackSurveyRate
セッション品質サーベイ がセッションがそれに適格である場合に表示される確率を設定します。0 を設定してサーベイが表示されないようにします。
- スコープ:
Any file - タイプ:
0から1の間の数値 - デフォルト: 未設定。Claude Code は Anthropic がリモートで設定する率を使用するか、Amazon Bedrock、Google Cloud の Agent Platform、および Microsoft Foundry でのビルトイン率
0.005を使用します。これらはリモート設定を受け取りません - セッションごとのオーバーライド:
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYを1に設定すると、このキーが設定する率に関係なく、1 つのセッションでサーベイがオフになります
settings.json
skipWebFetchPreflight
WebFetch ドメイン安全性チェック をスキップします。このチェックは、フェッチする前に各リクエストされたホスト名を api.anthropic.com に送信します。Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry デプロイメント(制限的な出力を持つ)など、Anthropic へのトラフィックをブロックする環境で true を設定します。
- スコープ:
Any file - タイプ: ブール値
true:Claude Code は WebFetch ドメイン安全性チェックをスキップしますfalse:チェックはセッション内の各ホスト名への最初のフェッチの前に実行され、以前のチェックがブロックされたか失敗したホスト名に対して再度実行されます
- デフォルト: 未設定。チェックはセッション内の各ホスト名への最初のフェッチの前に実行されます
settings.json
WebFetch 権限ルール と組み合わせてください。
エンタープライズおよび管理設定
組織が管理設定を計算、更新、および組み合わせるために使用するキー。管理設定の設定を参照してください。disableSideloadFlags
起動時に --plugin-dir、--plugin-url、--agents、および --mcp-config CLI フラグを拒否します。これらのフラグは、ユーザーが strictKnownMarketplaces を単一実行でバイパスするために渡す可能性があります。Claude Code はエラーで終了し、拒否されたフラグを名前で指定します。クラウドセッションでは、Claude Code はセッションを開始し、サーバーが配信した --mcp-config エントリをドロップします。ただし、プロセス内 type: "sdk" エントリと Claude Tag セッションの Slack ツールは除きます。Claude Code v2.1.193 以降が必要です。
- スコープ:
Managed - タイプ: ブール値
true: Claude Code は起動時に--plugin-dir、--plugin-url、--agents、および--mcp-configを拒否し、エラーで終了して名前を指定します。クラウドセッションでは、セッションを開始し、サーバーが配信した--mcp-configエントリをドロップします。ただし、プロセス内type: "sdk"エントリと Claude Tag セッションの Slack ツールは除きますfalse: Claude Code はこれらのフラグを受け入れます
- デフォルト:
false
managed-settings.json
type: "sdk" エントリである --mcp-config を受け入れます。これにより、Agent SDK と VS Code 拡張機能は動作し続けます。ユーザーは claude mcp add またはファイル .mcp.json でサーバーを追加できます。サーバーごとの制御については、allowedMcpServers も設定してください。Claude Code v2.1.193 以降が必要です。
同じチェックは、CLAUDE_CODE_PLUGIN_DIRS 環境変数で名前が付けられたプラグインフォルダをカバーします。これには Claude Code v2.1.280 以降が必要です。変数がフォルダを名前で指定する場合、Claude Code は同じエラーで終了し、エラーは変数をアンセットするように指示します。
クラウドセッションでは、Claude Code はセッション中の MCP 更新も無視します。これは、クラウドセッション構成と SDK setMcpServers() 呼び出しの背後にあるパスです。プロセス内 type: "sdk" エントリと Claude Tag セッションの Slack ツールはそこでも除外されたままです。v2.1.268 より前では、このドロップと起動ドロップの両方も Claude Tag セッションの Slack ツールを削除していました。v2.1.239 より前では、サーバーが配信した --mcp-config はクラウドセッションの開始をブロックしていました。
デスクトップアプリは、claude.ai から同期されたプラグインや、組織がアプリを通じてデプロイするプラグインを含む、いくつかのプラグインを自身で管理します。MDM、OS レベルのポリシー、または管理設定ファイルを通じてこのキーをデバイスにデプロイする場合、デスクトップアプリはそれらのプラグインを、そのデバイス上の以下のセッションに渡しません:
- ユーザーのマシン上のコードセッション: ユーザーの claude.ai アカウントに対して有効になっているスキルなしでも開始します。Claude Code が管理設定のマーケットプレイスからインストールするプラグインは引き続きロードされます。Claude Desktop on 3P では、デバイスの
org-pluginsディレクトリにデプロイするプラグインからの MCP サーバーは利用可能なままです。デスクトップアプリが自身でそれらに接続するため。Claude Desktop v1.37937.0 より前では、これらのセッションは起動時に失敗していました。 - ユーザーのマシン上の Cowork セッション: それらのプラグイン内のスキルとユーザーの claude.ai アカウントに対して有効になっているスキルは利用可能なままです。Claude Desktop on 3P では、デバイスの
org-pluginsディレクトリにデプロイするプラグインからの MCP サーバーは利用可能なままです。デスクトップアプリが自身でそれらに接続するため。Claude Desktop v1.44121.0 より前では、これらのセッションは起動時に失敗していました。
forceRemoteSettingsRefresh
Claude Code が サーバー管理設定 を新たに取得するまで CLI 起動をブロックします。取得に失敗した場合、Claude Code はキャッシュされた設定または設定なしで続行する代わりに終了します。環境が管理ポリシーなしでセッションが実行される短い時間枠を受け入れられない場合に設定します。
キーが設定されていない場合、Claude Code は取得時に起動をブロックしません。ただし、開発者が起動時にサインインする場合、取得を最大 5 秒間待機します。Cloud ゲートウェイセッションは常に待機し、ゲートウェイに到達できない場合は終了します。
- スコープ:
Managed。Claude Code は、最優先度のソースでなくても、管理者が制御する管理ソースからのtrueを尊重します。 - タイプ: ブール値
true: Claude Code は起動をブロックして、サーバー管理設定を新たに取得するまで待機し、取得に失敗した場合は終了しますfalse: Claude Code は取得時に起動をブロックしません。ただし、サインイン起動では最大 5 秒間待機します
- デフォルト:
false
managed-settings.json
claude auth サブコマンドは除外されるため、ユーザーは期限切れの認証情報が取得に失敗する理由である場合に再認証できます。失敗時閉鎖起動を強制するを参照してください。
managedSourcesBehavior
Claude Code が、組織が配信する最優先度の 管理ソース のみを適用するか、配信するすべての管理者ソースを組み合わせるかを選択します。デフォルトでは、Claude Code は ポリシーキー を含む最優先度のソースを取得し、残りを無視します。ポリシーキーは、このキーと wslInheritsWindowsSettings 以外の設定キーです。そのデフォルトでは、サーバー管理設定または MDM ポリシーがポリシーキーを配信すると、managed-settings.json ファイルは Claude Code がすべての管理ソースから読み取るキー のみを提供します。"merge" を使用すると、配信するすべての管理ソースがそのキーを 1 つの組み合わせたポリシーに提供します。Claude Code v2.1.242 以降が必要です。
"merge" は、ランク付けされた 最優先度のソースの下のすべてのソースが管理者の制御下にある場合にのみ設定してください。Claude Code は、permissions.allow ルールなどの下位ソースからのエントリをポリシーに追加します。
- スコープ:
Managed。Claude Code はこのキーを、このキーまたはポリシーキーを含む最優先度のソースから読み取り、ランク付けされた下位のすべてのソースでこのキーを無視します。下位ソースは、上位のソースとの組み合わせにオプトインできません。Windows HKCU レジストリも 埋め込みホストからの親設定 も、マージに参加しません。 - タイプ: 文字列、次のいずれか:
"first-wins": ポリシーキーを含む最優先度のソースがポリシーを提供し、下位ソースは Claude Code がすべての管理ソースから読み取るキー のみを提供します"merge": 配信するすべての管理ソースがそのキーを提供し、以下のルールで組み合わせられます
- デフォルト:
"first-wins"
managed-settings.json ファイルは最下位の管理ソースであるため、そこに設定された "merge" は、それと組み合わせる下位ソースがありません。サーバー管理設定では、キーは次のようになります:
"merge" では、Claude Code は各キーをそのタイプで組み合わせます。このテーブルは各タイプのルールを示します。制限許可リスト、値全体取得、および最優先度ソースのみの行は、カバーするすべてのキーを名前で指定し、他の行は例を示します:
sandbox.credentials.awsPairs と sandbox.ripgrep を全体で取得するには、Claude Code v2.1.257 以降が必要です。
いくつかのキーは、テーブルが示さない条件を追加します:
policyHelper: Claude Code は、ポリシーキーを含む最優先度のソースが MDM ポリシーまたは管理設定ファイルである場合にのみそれを尊重します。サーバー管理設定では適用されません。modelOverrides:availableModelsとペアになります。Claude Code は、それを設定する最優先度のソースからmodelOverridesを取得します。ただし、上位ソースがmodelOverridesなしでavailableModelsを設定する場合は除きます。その場合、すべてのソースからmodelOverridesを無視します。forceLoginGatewayUrl、gatewayInternalNetworks、およびforceLoginMethodの"gateway"値: Claude Code はサーバー管理設定からそれらのいずれも読み取りません。そのため、そこでの値は適用されず、MDM ポリシーまたは管理設定ファイルで設定されたものを隠しません。マシン上の管理ソースの中で、ポリシーキーを含む最優先度のソースのみがそれらを提供します。サーバー管理設定も存在するかどうかに関わらず。allowedProviders: テーブルのルールの後、マシン自体のリストは結果を制限し続けます。そのエントリの Scope ノートが述べているように。
/status を実行し、Setting sources 行を読んでください。
parentSettingsBehavior
Claude Code が、Agent SDK または IDE 拡張機能などの埋め込みホストプロセスによって提供される管理設定を適用するかどうかを選択します。管理者がデプロイした管理層も存在する場合。"first-wins" では、Claude Code はホスト提供の設定をドロップします。"merge" では、制限のみのフィルターを通じて管理層の下で適用します。ホストが起動するセッションに独自の制限を渡す必要がある場合、"merge" を設定します。たとえば、Claude Desktop がゲートウェイの出力許可リストを配信する場合。
- スコープ:
Managed。Claude Code はそれを最優先度の管理者制御管理ソースから読み取ります。 - タイプ: 文字列、次のいずれか:
"first-wins": Claude Code は、管理者がデプロイした管理層が存在する場合、ホスト提供の設定をドロップします"merge": Claude Code は、制限のみのフィルターを通じて管理層の下でホスト提供の設定を適用します
- デフォルト:
"first-wins"
managed-settings.json
policyHelper
起動時に管理設定を計算するためにデプロイする実行可能ファイルを実行します。デバイスの状態、ID、またはリモートサービスから静的ファイルの代わりにポリシーを導出できます。Claude Code はヘルパーを実行してから最初のプロンプトを受け入れ、それが出力する設定をセッションの管理設定として扱います。
- スコープ:
Managed。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。Claude Code は、ポリシーキー を含む最優先度の管理ソースからキーを読み取り、そのソースが 3 つのうちの 1 つである場合にのみヘルパーを実行します。サーバー管理設定、HKCU レジストリ、およびホスト提供の親設定ではキーを無視します。 - タイプ:
path、timeoutMs、およびrefreshIntervalMsを含むオブジェクト - デフォルト: 設定されていないため、ヘルパーは実行されません
managed-settings.json
ヘルパー出力を書き込む
Claude Code はヘルパーを引数なしで実行し、その環境にCLAUDE_CODE_VERSION を設定し、stdout から JSON エンベロープを読み取ります。1 MiB でキャップされます。
設定を managedSettings キーの下に配置します。managedSettings キーのない裸の設定オブジェクトは、managedSettings が未定義で何も適用されず、Claude Code はエラーを報告しません:
managedSettings を出力する場合、そのオブジェクトは実行の唯一の管理設定ソースになります。Claude Code は MDM、ファイル、および HKCU ソースを無視し、クロスソースキー をヘルパーの出力からのみ読み取り、親設定 をマージしません。
起動 forceRemoteSettingsRefresh チェックはヘルパーの前に実行され、任意の管理ソースを読み取ります。ヘルパーが managedSettings を省略するエンベロープで 0 で終了する場合、管理設定を提供しません。他のソースは通常どおり適用されます。
ヘルパーの失敗
ヘルパー実行は次の場合に失敗します:pathはpolicyHelper.pathのルールを破ります。pathに通常ファイルがありません。Claude Code は、同じtimeoutMs予算内でヘルパーを開始する前にファイルをチェックするため、応答しないネットワークマウントは実行を失敗させる可能性があります。- ヘルパーが 0 以外で終了し、
timeoutMsが経過してもまだ実行中であるか、まったく開始しません。たとえば、実行可能でないため。 - ヘルパーが stdout または stderr に 1 MiB 以上を書き込みます。
- stdout は単一の JSON オブジェクトではないか、その
managedSettingsに Claude Code が修復できないスキーマ違反 があります。
timeoutMs 制限を名前で指定し、ヘルパーの出力は含まれません。拒否は、対話型セッション、claude -p、Agent SDK セッション、バックグラウンドセッション、およびほとんどのサブコマンドをカバーします。
拒否は意図的なため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、0 で終了する必要があります。
バックグラウンド更新が失敗する場合、Claude Code は最後に成功したポリシーを有効に保ち、/status は失敗した更新をその理由とともに表示します。更新が成功するまで。各更新は、起動実行と同じ timeoutMs および失敗ルールの下で実行されます。
--debug を使用すると、Claude Code はすべての実行からヘルパーの stderr を デバッグログ に書き込みます。
Claude Code は無効な policyHelper 値を ドロップされたエントリ として報告し、残りの管理設定でセッションを開始します。ヘルパーを実行しません。無効な値には、裸のパス文字列と その最小値 より低い timeoutMs が含まれます。
ヘルパーをオフにするには、それを設定するソースからキーを削除します。
policyHelper.path
Claude Code が実行するヘルパー実行可能ファイルに名前を付けます。パスがルールを破る場合に何が起こるかについては、ヘルパーの失敗 を参照してください。
- スコープ:
Managed。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。policyHelperが読み取られる場所。 - タイプ: 文字列、正規化された形式の絶対パス。
.または..セグメントなし。Windows では、.exeで終わるドライブレターまたは UNC パス - デフォルト: なし。
policyHelperが設定されている場合は必須
managed-settings.json
policyHelper.timeoutMs
Claude Code がヘルパーを待機する時間を設定してから、実行を失敗として扱います。タイムアウトした実行は 0 以外の終了と同じ方法で失敗するため、起動時に Claude Code は起動を拒否します。
- スコープ:
Managed。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。policyHelperが読み取られる場所。 - タイプ: 整数、ミリ秒、最小
1000 - デフォルト:
10000
managed-settings.json
policyHelper.refreshIntervalMs
Claude Code がバックグラウンドでヘルパーを間隔で再実行するようにして、ポリシーの変更が実行中のセッションに到達するようにします。更新が成功する場合、その出力は前の管理設定を再起動なしで置き換えます。更新が失敗する場合、Claude Code は既に持っているポリシーを保ちます。
- スコープ:
Managed。macOS plist、Windows HKLM レジストリ、または管理設定ファイルから読み取ります。policyHelperが読み取られる場所。 - タイプ: 整数、ミリ秒: 更新を無効にするには
0。それ以外の場合は最小60000 - デフォルト: 設定されていないため、Claude Code はヘルパーを起動時に 1 回実行します
managed-settings.json
wslInheritsWindowsSettings
WSL 上の Claude Code が Windows ポリシーチェーンから管理設定を読み取るようにします。HKLM と Windows 管理設定ファイルが /etc/claude-code と下の HKCU より優先されます。チェーンがオンの間、Claude Code は Windows 管理ドキュメントが存在しない 場合にのみ /etc/claude-code を読み取ります。HKLM レジストリ値または C:\Program Files\ClaudeCode\ フォルダ内。Windows に既にデプロイしているポリシーを WSL セッションに拡張するために設定します。同じマシン上で、ホストセッションと同じルールに従うようにします。Claude Code は、HKLM レジストリキーまたは管理設定ファイルまたは C:\Program Files\ClaudeCode\ の下のドロップインで設定されている場合にのみそれを尊重します。どちらも Windows 管理者が書き込む必要があります。
- スコープ:
Managed。管理者制御の Windows ソースで。 - タイプ: ブール値
true: WSL 上の Claude Code は Windows ポリシーチェーンから管理設定を読み取り、Windows 管理ドキュメントが存在しない場合にのみ/etc/claude-codeを読み取りますfalse: WSL は/etc/claude-codeのみを読み取ります
- デフォルト:
false。WSL は/etc/claude-codeのみを読み取ります
managed-settings.json
true に設定する場合にのみ WSL に参加します。そのコピーはチェーンをそれ自体でオンにしません。このキーのみを含む Windows ソース。true または false に設定されている場合、ポリシーソースとしてカウントされません。下位優先度のソースはまだポリシーを提供します。このキーはネイティブ Windows に効果がありません。
Claude Code は true と false を引用符の有無にかかわらず読み取り、null をキーの削除として読み取ります。他の値を保持する管理者制御の Windows ソースは、存在する管理ドキュメント としてカウントされます。チェーンがオンの場合: /etc/claude-code も HKCU も適用されず、起動警告がキーを名前で指定します。読み取ることができない HKLM 値または Windows フォルダファイルも、チェーンがオンかどうかに関わらず /etc/claude-code が適用されるのを防ぎます。Claude Code v2.1.282 以降が必要です。
グローバル設定
これらのキーを~/.claude.json に保存してください。設定ファイルには保存しないでください。Claude Code はそれ以外の場所ではこれらを無視します。Claude Code と /config はほとんどのキーを自動的に書き込みます。また、手動で編集することもできます。
autoConnectIde
外部ターミナルから Claude Code を起動するときに、実行中の IDE に自動的に接続します。VS Code または JetBrains ターミナルの外で Claude Code を実行する場合、/config に Auto-connect to IDE (external terminal) として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: Claude Code は外部ターミナルから起動するときに、実行中の IDE に自動的に接続しますfalse: Claude Code は外部ターミナルから自動的に接続しません。ただし、VS Code または JetBrains ターミナル内、または--ideを使用する場合は接続します
- デフォルト:
false - セッションごとのオーバーライド:
CLAUDE_CODE_AUTO_CONNECT_IDEはこのキーより優先され、1 つのセッションでどちらの方向でも機能します
~/.claude.json
settings.json でこのキーを無視します。
autoInstallIdeExtension
VS Code ターミナルから Claude Code を実行するときに、Claude Code IDE 拡張機能を自動的にインストールします。VS Code または JetBrains ターミナル内で Claude Code を実行する場合、/config に Auto-install IDE extension として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: Claude Code は VS Code ターミナルから実行するときに IDE 拡張機能を自動的にインストールしますfalse: Claude Code は拡張機能を自動的にインストールしません
- デフォルト:
true - セッションごとのオーバーライド:
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLを1に設定すると、このキーがtrueの場合でも 1 つのセッションのインストールをスキップします
~/.claude.json
settings.json でこのキーを無視します。
claudeInChromeDefaultEnabled
Chrome 統合をオンにして、毎回 --chrome を渡さずにすべてのインタラクティブ CLI セッションを開始します。claude remote-control を実行する場合、プロジェクトスレッドの 1 つに対して開始するセッションもこのキーに従います。ただし、bypassPermissions モードの場合は除きます。Claude Code v2.1.287 以降では、このキーは VS Code 拡張機能のセッションにも適用されます。詳しくは Chrome をデフォルトで有効にするを参照してください。
/chrome を実行して Enabled by default を選択すると、このキーが設定されます。/config に Claude in Chrome enabled by default として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: Claude Code は--chromeを渡すときと同様に、インタラクティブ CLI セッションが開始するときに Chrome 統合をオンにします。VS Code 拡張機能では、セッションは開始時にブラウザに接続しますfalse: インタラクティブ CLI セッションは Chrome 統合をオフで開始し、Claude Code はセットアップを提案するのを停止します。1 つのインタラクティブセッションでオンにするには--chromeを渡してください。VS Code 拡張機能では、キーが未設定の場合と同様に、@browserと入力したときにセッションが接続します
- デフォルト: 未設定。Chrome 統合はオフで、Claude Code はセットアップを提案できます
- セッションごとのオーバーライド:
--chromeと--no-chromeはこのキーより優先され、1 つのインタラクティブセッションで機能します
~/.claude.json
settings.json でこのキーを無視します。
copyFullResponse
/copy がピッカーを表示せずに、毎回完全な応答をコピーするようにします。そのピッカーで Always copy full response を選択すると、このキーが true に設定されます。/config に Skip the /copy picker として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true:/copyはピッカーを表示せずに完全な応答をコピーしますfalse: 応答にコードブロックまたは引用ブロックが含まれている場合、/copyはピッカーを表示し、1 つのブロックまたは完全な応答を選択できます
- デフォルト:
false
~/.claude.json
settings.json でこのキーを無視します。
copyOnSelect
フルスクリーンレンダリングまたはエージェントビューでマウスで選択を終了したときに、テキストをクリップボードに自動的にコピーします。フルスクリーンレンダリングがオンの場合、/config に Copy on select として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: Claude Code は選択を終了したときにテキストをクリップボードにコピーしますfalse: テキストを選択してもクリップボードは変わらず、代わりにキーボードショートカットで選択をコピーします
- デフォルト:
true
~/.claude.json
settings.json でこのキーを無視します。
defaultToAgentsView
引数なしで claude を実行するときに、新しい会話の代わりにエージェントビューを開きます。エージェントビューがオフになっていない限り、/config に Open agents view by default として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: 引数なしのclaudeはエージェントビューを開きます。ただし、エージェントビューがオフになっている場合は除きますfalse: 引数なしのclaudeは新しい会話を開始します
- デフォルト:
false
~/.claude.json
settings.json でこのキーを無視します。
diffTool
VS CodeまたはJetBrains IDE が接続されているときに、Claude Code が提案する Edit または Write 変更の差分を表示する場所を選択します。"auto" は IDE の差分ビューアで開き、"terminal" はターミナルに保持します。Claude Code が VS Code または JetBrains IDE に接続されている場合のみ、/config に Diff tool として表示されます。
- スコープ:
グローバル設定 - タイプ: 文字列、以下のいずれか:
"auto": Claude Code は VS Code または JetBrains IDE が接続されているときに IDE の差分ビューアで差分を開きます"terminal": Claude Code は差分をターミナルに保持します
- デフォルト:
"auto"
~/.claude.json
settings.json でこのキーを無視します。
externalEditorContext
Ctrl+G を押すと、Claude Code は入力中のプロンプトを外部エディタで開きます。このキーをオンにすると、エディタバッファは Claude の前の応答で # コメント行として開始されるため、書き込み中に読むことができ、Claude Code は保存時にこれらの行を削除します。/config に Show last response in external editor として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: エディタバッファは Claude の前の応答で#コメント行として開始され、Claude Code は保存時にこれらを削除しますfalse: エディタバッファはプロンプトのみで開きます
- デフォルト:
false
~/.claude.json
# … (earlier output truncated) でマークします。
Claude Code は settings.json でこのキーを無視します。
leftArrowOpensAgents
空のプロンプトで ← を押して、セッションをバックグラウンドにしてエージェントビューを開きます。このキーを false に設定してショートカットをオフにします。エージェントビューが利用可能な場合、/config に ← opens agents として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: ターミナルで開始したセッションの空のプロンプトで←を押すと、セッションがバックグラウンドになり、エージェントビューが開きますfalse: Claude Code はショートカットをオフにします。エージェントビューから接続したセッションでは、空のプロンプトで←を押すと切断されます
- デフォルト:
true
~/.claude.json
settings.json でこのキーを無視します。
permissionExplainerEnabled
v2.1.256 まで、Bash または PowerShell 権限プロンプトで Ctrl+E を押してコマンドのモデル生成説明を表示でき、このキーを false に設定してそのショートカットをオフにできました。
- スコープ:
グローバル設定。v2.1.256 以前。 - タイプ: ブール値
- デフォルト:
true
prStatusFooterEnabled
現在のブランチのオープンなプルリクエストまたはマージリクエストのバッジをプロンプトフッターに表示し、そのステータスを示す色付きの下線を表示します。/config に Show PR status footer として表示されます。
- スコープ:
グローバル設定 - タイプ: ブール値
true: フッターは PR レビューステータスの条件下でバッジを表示しますfalse: Claude Code はフッターのプルリクエストおよびマージリクエストチェックをスキップし、そのバッジを表示しません。エージェントビューから接続したセッションは、リンクされたプルリクエストへのプレーンリンクを表示できます
- デフォルト:
true
~/.claude.json
settings.json でこのキーを無視します。
teammateDefaultModel
v2.1.233 まで、このキーをエージェントチームのチームメイトのモデルに設定しました。プロンプトがモデルを指定しなかったチームメイト用:"sonnet" などのエイリアス、または null でリードのモデルに従う。Claude Code が現在そのようなチームメイト用に選択するモデルについては、チームメイトとモデルを指定を参照してください。
- スコープ:
グローバル設定。v2.1.233 以前。 - タイプ: 文字列、モデルエイリアスまたは完全なモデル ID、または
null - デフォルト: 未設定
関連項目
- 権限を設定する:ルール構文、権限モード、ワークスペース信頼
- 環境変数:Claude Code が読み込むすべての
CLAUDE_*、ANTHROPIC_*、およびプロバイダー変数 - Claude で利用可能なツール:組み込みツールと承認が必要なツール
- 設定ファイルの例:個人用ファイル、チームファイル、および組織の管理ファイル
- 管理設定をセットアップする:組織が何を強制するかを決定する方法
- 管理設定をデプロイする:配信メカニズム、管理層内の優先順位、および管理設定の無効なエントリ
- 設定をデバッグする:
claude doctorと設定エラーダイアログ