Skip to main content
このリファレンスページでは、Claude Code が設定ファイルから読み込む各キーと、代わりに ~/.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
このキーは、Amazon Bedrock や Claude Platform on AWS など、advisor が利用できないプロバイダーでは効果がありません。"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 の配列
  • デフォルト: 未設定。すべてのモデルが利用可能です
この例では、Sonnet と Haiku のモデルのみを選択できるようにします。
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 モデル ID claude-opus-4-5-20251101 も許可します。"opus" のようなファミリーエイリアスは引き続きファミリー全体を許可し、best、opusplan、default のエントリは無視されます
  • デフォルト: "prefix"
この例では、Opus 5 と Sonnet 5 を許可し、いずれの後続リリースも許可しません。
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 のエントリは無視されます
  • デフォルト: 未設定。ブロックされるモデルはありません
この例では、Opus と Sonnet のモデルを許可し、Opus 5.5 をブロックします。
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
この例では、名前による選択を Sonnet と Haiku のモデルに制限し、Default がそれらのうち最初に利用可能なものに解決されるようにします。
settings.json
availableModels が未設定または空の場合、このキーは効果がありません。Default モデルに許可リストを適用するを参照してください。Claude Code v2.1.175 以降が必要です。

fallbackModel

プライマリモデルが過負荷または利用できない場合に Claude Code が順番に試すバックアップモデルを指定します。Claude Code はそのターンの残りの間、チェーン内で次に利用可能なモデルに切り替え、通知を表示します。チェーンがない場合、Claude Code は同じモデルで再試行した後にサーバーのエラーを表示し、ユーザーが自分で再試行するかモデルを切り替えることになります。 切り替えが発生すると、フォールバックモデルでは 1 ターンの間プロンプトキャッシュがコールドの状態になります。次のメッセージでは再びプライマリモデルが最初に試されます。
  • スコープ: Any file
  • 型: モデルのエイリアスまたは ID の配列。"default" はデフォルトモデルに展開されます
  • デフォルト: 未設定。失敗したリクエストは別のモデルで再試行されません
  • セッションごとの上書き: --fallback-model は、1 つのセッションに限りこのキーよりも優先されます
この例では、プライマリモデルが失敗した場合に、まず Sonnet 5、次に Haiku 4.5 を試します。
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
組織がモデルに対して effort の制限も設定している場合は、2 つの上限のうち低い方が適用されます。

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 にマッピングするオブジェクト
  • デフォルト: 未設定
この例では、Opus 4.6 へのすべての呼び出しを指定した Bedrock 推論プロファイルにルーティングします。
settings.json
バージョンごとにモデル ID を上書きするを参照してください。

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 を持つオブジェクト
  • デフォルト: 未設定。ピッカーには組み込みのラインナップが表示されます
この例では、チームが認識できる名前で、組み込みのラインナップの後に 2 つの Bedrock デプロイを追加します。
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 は組み込みのラインナップを保持し、通常どおり許可リストで絞り込みます
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 Code は各エントリを 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 を実行するか新しいセッションを開始した後にのみ適用されていました。
  • スコープ: Any file
  • 型: 文字列。組み込みまたはカスタムの出力スタイルの名前
  • デフォルト: 未設定。Claude Code はデフォルトのスタイルを使用します
この例では、タスクの合間に教育的な解説を追加する組み込みの Explanatory スタイルを選択します。
settings.json

promptCacheTtl

プロンプトキャッシュがメインの会話を保持する期間を選択します。このキーは、対話、-p、および Agent SDK のターンと、それらとインラインで Claude Code が実行するヘルパーに適用されます。1 時間の有効期間では、長めの休憩をはさんでもキャッシュがウォームな状態に保たれますが、API は 5 分の有効期間よりも高い料金で各キャッシュ書き込みを請求します。Claude Code v2.1.242 以降が必要です。 この例では、メインの会話を 1 時間の有効期間に保ち、サブエージェントは 5 分のままにします。
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 以降が必要です。 この例では、サブエージェントとメインの会話の外で行われるその他のリクエストに 1 時間の有効期間を与えます。
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
セッションの effort レベルは、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 フロントマターも無視されます。 管理設定からのスキルとバンドルスキルは allowed-tools を保持します。これらの Desktop セッション外の @inline プラグインも、anthropic-skills という名前のものを除き、それを保持します。スキルの disallowed-tools は引き続き適用されます。Claude Code がこのフィールドを無視したときに開発者に何が表示されるかについては、管理権限ルールのみが適用される場合を参照してください。
  • スコープ: Managed
  • タイプ: ブール値
    • true: 管理設定が権限ルールの唯一の設定ソースになります
    • false: Claude Code は管理ルールに加えて、ユーザー、プロジェクト、ローカル、および --settings ファイルから権限ルールを適用します
  • デフォルト: 未設定。Claude Code はユーザー、プロジェクト、ローカル設定、および --settings から権限ルールを管理ルールに加えて適用します
managed-settings.json
このキーは MCP サーバーの許可リストをロックダウンしません。そのためには、allowManagedMcpServersOnlyを設定してください。管理のみの設定を参照してください。

autoMode

auto モードの分類器がブロックおよび許可するものに独自のルールを追加します。これを使用して、分類器に組織が信頼するリポジトリ、バケット、ドメインを伝え、日常的な内部操作のブロックを停止させます。分類器には組み込みの許可および拒否ルールが付属しています。リテラル文字列 "$defaults" を配列に含めて、それらの組み込みルールをその位置に保持し、その周りに独自のルールを追加します。省略すると、それらを独自のルールに置き換えます。
  • スコープ: User or managed
  • タイプ: environment、allow、soft_deny、hard_deny の散文ルール配列、および classifyAllShell ブール値を含むオブジェクト
  • デフォルト: 未設定。分類器は組み込みルールのみを使用します
この例は、"$defaults" を通じて組み込みの soft_deny ルールを保持し、terraform apply をブロックするルールを 1 つ追加します。
settings.json
これらのファイルの複数が同じ配列を設定する場合、Claude Code はエントリを連結します。ルール形式と各配列の適用方法については、auto モードを設定するを参照してください。

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
3 つのルール配列は 1 つの構文を共有します。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 Code はプロジェクトの .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 はシェルコマンドを同じ方法では拒否しません。 シェルパーサーが追跡できない Bash コマンド(複数回ディレクトリを変更するものやサブシェルを実行するものなど)は、auto モードおよび 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 を開始したディレクトリのパスに *、?、[ などのグロブ文字が含まれている
ブロック下で、Claude Code はサンドボックス化されたコマンドに対してグローバル git 設定ファイルを再度開くため、git はユーザーのアイデンティティと設定を保持します。
  • ~/.gitconfig
  • $XDG_CONFIG_HOME/git の下の config、ignore、attributes ファイル(デフォルトは ~/.config/git)
  • グローバル git 設定が [include]、[includeIf]、core.excludesFile、core.attributesFile を通じて指定するファイル
Claude Code は各ファイルを個別に判断します。ファイルが、サンドボックス化されたコマンドが直接またはシンボリックリンクを通じて書き込める場所にある場合、Claude Code はそのファイルが指定するファイルを再度開きません。 Linux および WSL2 では、シンボリックリンクである設定ファイルはそれ自身のパスで読み取り不可のままになることがあり、その場合 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
v2.1.223 より前では、Claude Code はバイパスが無効になっていてもフロントマターの権限モードを適用していました。

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 に設定して、すべてのプロジェクトをサンドボックス化します。
settings.json
Linux と WSL2 では、サンドボックスは 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: サンドボックス化されたコマンドは通常の権限フローを通過するため、許可ルールと権限モードが決定します。/sandbox Mode タブはこれを通常権限モードと呼びます
  • Default: true
これはサンドボックスをオンに保ち、サンドボックス化されたコマンドを通常の権限フローを通します:
settings.json
自動許可モードで引き続きプロンプトが表示される操作と、plan モードでの動作については、自動許可モードを参照してください。

sandbox.excludedCommands

Claude Code がサンドボックスの外で実行するコマンド(サンドボックスで動作しないツールなど)に名前を付けます。各エントリは、Bash(...) 権限ルールの内容と同じ構文を使用します:正確なコマンド、docker * などのプレフィックス、またはワイルドカードパターン。ワイルドカードを含まないパターンは完全一致となるため、docker は引数なしの docker にのみ一致します。 エントリは、Bash 呼び出しのすべてのコマンドをカバーする場合にのみ、Bash 呼び出しをサンドボックスから外します。一部の呼び出し形式はそれでもサンドボックス化されたままです。docker * エントリだけでは、npm ci && docker build . をサンドボックスから外しません。
settings.json
Claude Code は、Bash 呼び出しが以下のような形状のいずれかを持つ場合、その呼び出しをサンドボックス化したままにします:
  • 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: 未設定。デフォルトの読み取りおよび書き込み境界が適用されます
これにより、サンドボックス化されたコマンドはビルドディレクトリと kubeconfig に書き込むことができ、AWS 認証情報ファイルを非表示にします:
settings.json
Claude Code はこれらのリストを OS サンドボックス境界で強制するため、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 です:
Linux と WSL2 では、セッション内の /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 やビルドツールなどのサブプロセスがプロジェクト外に書き込む必要がある場合に使用します。 これにより、ビルドは /tmp/build の下に書き込むことができ、kubectl は kubeconfig を更新できます:
settings.json
Claude Code は allowWrite エントリと Edit(...) 許可権限ルールからのパスをセッションが読み込むすべての設定スコープ全体でマージし、permissions.blockReadsOutsideWorkingDirectoriesがオンの間、リポジトリ設定からのものを除外します。リポジトリロックによってリポジトリのエントリが除外されることもあります。allowWrite エントリは保護されたパスを解除できません。

sandbox.filesystem.denyWrite

サンドボックス化されたコマンドが特定のパスへの書き込みをブロックします。これには、別の方法で書き込み可能なディレクトリ内のパスが含まれます。 これにより、サンドボックス化されたコマンドがシステム設定を変更したり、バイナリをインストールしたりするのを防ぎます:
settings.json
Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージし、Edit(...) 拒否権限ルールからのパスを追加します。

sandbox.filesystem.denyRead

サンドボックス化されたコマンドが特定のパス(デフォルトの読み取りポリシーが公開する認証情報ファイルなど)の読み取りをブロックします。認証情報ファイルを保護し、サンドボックスプロキシを通じて使用可能に保つには、代わりに sandbox.credentials を参照してください。
settings.json
Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージし、Read(...) 拒否権限ルールからのパスを追加します。filesystem.disabledが true の場合、Claude Code はこれらのエントリを強制しません。

sandbox.filesystem.allowRead

denyReadがブロックする領域内の特定のパスの読み取りを再度開き、ワークスペースのみの読み取りアクセスを構築します。正確またはワイルドカード denyRead エントリは、より広い allowRead 内でブロックされたままです。重複テーブルが示すとおりです。ワイルドカード denyRead エントリ(~/**/.env など)がディレクトリと一致する場合、Claude Code はその内容の読み取りもブロックします。v2.1.236 より前の macOS では、Claude Code はワイルドカード denyRead エントリが一致したパスを、より広い allowRead エントリがカバーしている場所で再度開き、一致したディレクトリの内容を読み取り可能なままにしました。 これにより、プロジェクト自体を除くホームディレクトリの読み取りがブロックされます:
settings.json
Claude Code は . エントリをプロジェクト設定ではプロジェクトルートに、ユーザー設定では ~/.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。ファイルシステム分離は有効なままです
これにより、ファイルシステムが開かれ、ネットワーク出力が GitHub と npm に限定されます:
settings.json
レイヤーがオフの場合、Claude Code は denyRead または credentials.files deny エントリを強制しませんが、credentials.envVars エントリと適用された mask エントリは引き続き機能します。autoAllowBashIfSandboxedは引き続き true にデフォルト設定されるため、プロンプトを続けるには false に設定します。ファイルシステム分離を無効にするを参照して、それを設定できるソースの完全なリストと、分離がオフの場合に何が変わるかを確認してください。Claude Code v2.1.216 以降が必要です。

sandbox.ignoreViolations

コマンドがプローブして拒否されることが予想されるパスのサンドボックス違反レポートを沈黙させます(例えば、スタートアップ時に /etc/hosts をチェックするツール)。これらの拒否は違反として表示されず、Claude が見るものにも表示されません。サンドボックスはアクセスをブロックしたままです。レポートのみが抑制されます。キーはコマンドに対して一致するサブストリング(* はすべてのコマンドに一致)で、値はそのコマンドで無視する違反のサブストリング(ファイルシステムパスなど)です。
settings.json

sandbox.enableWeakerNestedSandbox

Linux サンドボックスを非特権 Docker コンテナ内で実行します。bubblewrap は新しい /proc をマウントできません。代わりに、内部サンドボックスはコンテナの既存の /proc をバインドマウントします。これにより、新しいマウントが非表示にするプロセス情報が公開されます。これはセキュリティを低下させます。外部コンテナが既に必要な分離を提供する場合にのみ使用します。
  • Scope: Any file(プロジェクト設定とローカル設定には制限あり)
  • Type: ブール値
    • true: 内部サンドボックスは新しい /proc をマウントする代わりに、コンテナの既存の /proc をバインドマウントします
    • false: サンドボックスは新しい /proc をマウントします。これは非特権 Docker コンテナでは機能しません
  • Default: false
settings.json
Linux と WSL2 のみ。Bubblewrap がコンテナ内で起動に失敗するを参照してください。

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
MITM プロキシを使用しない場合は、代わりに失敗するツールを 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
分離を保持しながら 1 つのそのようなツールを実行するには、代わりに 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 を含むオブジェクト、および前置する引数の配列である optional args
  • 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
Linux と WSL2 のみ。

sandbox.socatPath

PATH の外にインストールされた socat バイナリをサンドボックスネットワークプロキシに指定します。
  • Scope: Managed
  • Type: 文字列。絶対パス。Claude Code は相対パスを削除し、PATH ルックアップにフォールバックします
  • Default: 未設定。Claude Code は PATH で socat を見つけます
managed-settings.json
Linux と WSL2 のみ。

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: 未設定。認証情報は保護されません
これにより、AWS 認証情報ファイルが非表示になり、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 を持つエントリは削除されます。
  • 各ケースは警告します。エントリが低下または削除されるかどうかに関わらず、残りの有効なエントリは引き続き強制されます。
v2.1.191 以降に適用されます。v2.1.221 より前では、すべての無効なエントリが削除されました。フィールドごとの処理を持つ他の管理キーについては、管理設定の無効なエントリを参照してください。

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: 未設定。認証情報ファイルは保護されません
これにより、AWS 認証情報ファイルが非表示になり、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、および optional sessionTokenVar を含み、sandbox.credentials.envVars エントリに名前を付けます
  • Default: 未設定。従来のトリオのみがペアになります
これにより、3 つのカスタム名の変数が 1 つの AWS 認証情報にリンクされ、再署名されます:
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: 未設定。ドメインは事前に許可されず、新しい各ホストをどう扱うかは権限モードによって決まります
これにより、GitHub と npm が事前に許可され、uploads.github.com がブロックされ、コマンドが localhost にバインドできます:
settings.json
Claude Code は配列サブキーを設定スコープ全体でマージするため、リポジトリロックが適用されない限り、プロジェクトはユーザーリストにドメインを追加できます。WebFetch(domain:...) 許可および拒否権限ルールは同じ許可および拒否リストをフィードします。

sandbox.network.allowUnixSockets

macOS でサンドボックス化されたコマンドが接続できる Unix ソケットパスをリストします。Claude Code は Linux と WSL2 でこのリストを無視します。seccomp フィルタはソケットパスを検査できません。代わりに allowAllUnixSockets を使用します。
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
WSL2 では、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 を通じて通信するツールは、ここにサービスをリストする必要があります。 これにより、com.apple.coresimulator. プレフィックスの下のすべてのサービスが許可されます:
settings.json

sandbox.network.allowedDomains

サンドボックス化されたコマンドからの送信トラフィック用にドメインを事前に許可するため、サンドボックスはそれらについてプロンプトしません。*.example.com などのワイルドカードはサブドメインと一致し、optional :port サフィックスはエントリを 1 つのポートに制限します。ポートなしのエントリはすべてのポートと一致します。 これにより、GitHub がすべてのポートで事前に許可され、すべての npm サブドメイン、および 1 つの API ホストがポート 443 でのみ許可されます:
settings.json
IPv6 リテラルを括弧で囲んで書き込みます。optional ポート付き:"[::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
Claude Code はセッションが読み込むすべての設定ソースからこのリストをマージします。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
Claude Code はサンドボックス化されたコマンドのみに対してこれを強制します。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
これにより、許可リストが GitHub と npm にロックされ、開発者が追加するドメインが無視されます:
managed-settings.json
キーが true の間、サンドボックスは管理者必須となり、プロキシポートを設定できるのは管理設定のみになります。 拒否されたドメインは引き続きセッションが読み込むすべてのソースからマージされます。ポリシーの拡大を開発者に防止させるを参照してください。

sandbox.network.httpProxyPort

Claude Code が実行するものの代わりに、独自の HTTP プロキシをサンドボックスに指定します。組織はこれを使用して、HTTPS トラフィックを検査したり、独自のフィルタリングルールを適用したり、リクエストをログに記録したりします。フィルタリングは独自のプロキシが引き継ぎ、Claude Code はそこに送信されるトラフィックにドメインリストとネットワークプロンプトを適用しなくなります。未設定の場合、Claude Code は HTTP トラフィック用に独自のプロキシを起動します。
settings.json
プロキシで SOCKS トラフィックも扱う場合は、socksProxyPort も設定します。2 つのうち一方のみを設定した場合、Claude Code はもう一方のプロトコル用に引き続き独自のプロキシを実行します。カスタムプロキシ設定を参照してください。

sandbox.network.socksProxyPort

Claude Code が実行するものの代わりに、独自の SOCKS5 プロキシをサンドボックスに指定します。フィルタリングは独自のプロキシが引き継ぎ、Claude Code はそこに送信されるトラフィックにドメインリストとネットワークプロンプトを適用しなくなります。未設定の場合、Claude Code は SOCKS トラフィック用に独自のプロキシを起動します。
settings.json
カスタムプロキシ設定を参照してください。

sandbox.network.tlsTerminate

サンドボックスプロキシが TLS を終了して、HTTPS リクエストの内容を読み取ることができるようにします。これは実験的であり、mask 認証情報置換はそれを必要とします。{} を設定してセッション用に一時的な認証局を生成するか、caCertPath と caKeyPath を設定して独自のものを使用します。
  • Scope: User or managed。リポジトリはそれをオンにするか、認証局を提供できません。
  • Type: optional caCertPath と caKeyPath 文字列を含むオブジェクト。各ファイルパス
  • Default: 未設定。プロキシは TLS を終了または検査しません
settings.json
複数の尊重されるソースがそれを設定する場合、Claude Code は最も優先度の高いソースからの値を使用します:管理設定、次に --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
クローンしたリポジトリがプロジェクト設定やローカル設定のファイルを提供できるため、これらの設定では、Claude Code はフックと同じワークスペース信頼ルールに従ってこのキーを適用します。

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
このキーを設定すると、Claude Code は BASH_MAX_OUTPUT_LENGTH 環境変数を無視します。

claudeMd

別のファイルをデプロイせずに、CLAUDE.md 形式の指示を組織管理のメモリとして挿入します。Claude Code は、このテキストを管理メモリのエントリとして、ユーザーおよびプロジェクトの CLAUDE.md ファイルより先に読み込みます。
  • スコープ: Managed
  • 型: 文字列。CLAUDE.md ファイルのテキストです。markdown を含め、ファイルと同じように記述し、改行は \n とします
  • デフォルト: 未設定
この例では、2 つのルールを短い markdown のリストとしてデプロイします。
managed-settings.json
組織全体の CLAUDE.md をデプロイするを参照してください。

claudeMdExcludes

Claude Code がメモリを読み込む際に、特定の CLAUDE.md ファイルをスキップします。大規模なモノレポでは、自分の作業に関係のない他チームの CLAUDE.md ファイルをスキップするために使用します。大規模コードベースのガイドの関係のない CLAUDE.md ファイルを除外するで、このケースを詳しく説明しています。パターンは絶対ファイルパスに対してマッチします。
  • スコープ: Any file
  • 型: 文字列の配列。各要素は glob パターンまたは絶対パスです
  • デフォルト: 未設定。この場合、Claude Code は見つかったすべての CLAUDE.md を読み込みます
settings.json
除外はユーザー、プロジェクト、ローカルのメモリファイルにのみ適用されます。管理ポリシーの CLAUDE.md ファイルは除外できません。

env

すべてのセッションと、そのセッションから Claude Code が起動するサブプロセスに環境変数を設定します。環境変数リファレンスにあるほとんどの変数はここに記述でき、これによって変数をすべてのセッションに適用したり、チームに展開したりできます。プロジェクト設定とローカル設定では、一部の変数を設定できません。
  • スコープ: Any file
  • 型: 変数名を文字列値にマッピングするオブジェクト
  • デフォルト: 未設定
この例では、自動圧縮をオフにし、API リクエストをプロキシ経由でルーティングします。
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
      プロジェクト設定とローカル設定から引き続き適用されるのは、何かをオフにする次の値のみです。3 つのエクスポーターセレクターに対する 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。
    v2.1.251 より前は、プロジェクト設定とローカル設定でも、このリストのうち Claude Code がファイルを書き込む場所を選択する変数やセッションの内容をエクスポートする変数を設定できました(HOME と XDG_CONFIG_HOME を除く)。v2.1.290 より前は、ダイアログのタイマー変数と CLAUDE_CODE_DISABLE_ATTACHMENTS も設定できました。
  • 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 から機能フラグを取得できない場合、アイドル時のコンテキスト圧縮は実行されないため、オフにする対象がありません
このキーには Claude Code v2.1.290 以降が必要です。このキーを無視する以前のバージョンでは、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 Code は設定したディレクトリではなく ~/.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.277 で、このキーがサイズを決めていた TaskOutput ツールとともに削除されました。現在のバージョンでは設定しても効果はありません。Claude は代わりに Read でバックグラウンドタスクの出力ファイルを読み取ります。
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
指定したシェルが利用できない場合、Claude Code はもう一方を使用します。PowerShell ツールがオフの場合 "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
絵文字ショートコードを参照してください。Claude Code v2.1.217 以降が必要です。

fileSuggestion

組み込みのファイル候補の代わりに、独自のコマンドを実行して @ ファイルパスのオートコンプリートを提供します。組み込みの候補は高速なファイルシステム走査を使用しますが、大規模なモノレポでは、事前にビルドされたファイルインデックスのようなプロジェクト固有のインデックスを使用したほうがうまくいく場合があります。
  • スコープ: Any file。ステータスラインとファイル候補のゲートの下では、Claude Code はコマンドをオフにするか管理設定の値のみを実行し、ユーザーのコマンドは警告なしにスキップします。
  • 型: 常に "command" である type と、実行するシェルコマンドである command を持つオブジェクト
  • デフォルト: 未設定。Claude Code は組み込みのファイル候補を使用します
settings.json
これを保存した後、プロンプトで @ に続けてパスの一部を入力すると、コマンドの出力から候補が表示されます。

コマンドの入力と出力

Claude Code は、CLAUDE_PROJECT_DIR を含め、フックと同じ環境変数でコマンドを実行し、5 秒後に待機を打ち切ります。コマンドは、それまでに入力された内容を保持する query フィールドを含む JSON を stdin で受け取ります。
改行区切りのファイルパスを stdout に出力します。Claude Code が表示するのは最大 15 件です。
次のスクリプトはクエリを読み取り、リポジトリのファイルインデックスに渡します。

footerLinksRegexes

正規表現がターンの出力(ファイルの内容や取得したページを含むツールの結果、および Claude 自身の応答)に一致したとき、入力ボックスの下のフッターにクリック可能なバッジを追加でレンダリングします。レビューツールや課題トラッカーなどのプロジェクトの CLI が出力する ID を、セッション内のリンクに変換するために使用します。
  • スコープ: User or managed
  • 型: オブジェクトの配列。各オブジェクトは "regex" に設定された type、正規表現の pattern、url テンプレート、およびオプションの label を持ちます。url と label 内の {name} プレースホルダーは、pattern の名前付きキャプチャグループから埋められます
  • デフォルト: 未設定。バッジはレンダリングされません
この例では PROJ-1234 のような課題キーに一致させ、キャプチャしたキーから各リンクを構築します。
settings.json
この設定では、ツールの結果または Claude の応答に PROJ-1234 が現れると、https://issues.example.com/browse/PROJ-1234 にリンクする PROJ-1234 バッジがフッターに表示されます。

バッジの制約

各エントリの URL、ラベル、バッジの数には次の制限があります。 ターンが完了すると、Claude Code はメインスレッド上で各エントリの pattern 正規表現をターンの出力に照合するため、遅い正規表現は完了するまで UI をブロックします。(a+)+$ のようなネストされた量指定子は、特定の入力に対して指数関数的に時間がかかり、セッションをフリーズさせることがあるため、各 pattern は線形に保ち、+ や * のネストは避けてください。 カスタムステータスラインが設定されている場合、フッターバッジはそれと並んでレンダリングされ、どちらも他方を置き換えることはありません。セッションデータから独自に内容を計算するスクリプト駆動の行にはステータスラインを使用し、スクリプトなしで会話中の ID をリンクに変換するにはフッターバッジを使用します。

keybindingFlavor

v2.1.261 以降は非推奨となり、効果はありません。プロンプトの単語編集キーは、Bash と同様に常に readline の慣例に従います。Claude Code は引き続き 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
プロンプト候補には、テレメトリがオンになっている claude.ai アカウントまたは Console アカウントが必要です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry の場合、または 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 つも読み込めない場合、空のスピナーではなく組み込みのローテーションを維持します。
複数の設定ファイルでこのキーが設定されている場合、Claude Code はそれらすべてのヒントを表示し、tipsFile、label、excludeDefault はそれぞれ、管理設定、--settings フラグ、ユーザー設定のうち、それを設定している最も優先順位の高いものから取得します。 この例はユーザー設定に記述するもので、Acme tip プレフィックスの下で、プレーンな文字列のヒントとオブジェクトのヒントをローテーションに追加します。
settings.json
例の各フィールドは、Claude Code によるヒントの表示方法をそれぞれ 1 点ずつ変更します。
  • 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 を持ちます。
Claude の作業中、Claude Code は Acme tip: Run /review before opening a PR のように、スピナーに独自のプレフィックス付きでヒントを表示します。

spinnerVerbs

ターンの進行中、スピナーには「Accomplishing」、「Architecting」、「Baking」などの動詞が順に表示されます。このキーを使用すると、そのローテーションに独自の動詞を追加したり、組み込みのリストを独自のものに置き換えたりできます。
  • スコープ: Any file
  • 型: 文字列の verbs 配列と、次のいずれかである mode を持つオブジェクト:
    • "append": Claude Code は組み込みのセットに独自の動詞を追加します
    • "replace": Claude Code は独自の動詞のみを表示します
  • デフォルト: 未設定。Claude Code は組み込みの動詞を使用します
この例では、組み込みのセットに 2 つの動詞を追加します。
settings.json
"replace" モードで verbs 配列が空の場合、Claude Code は組み込みの動詞を維持します。

statusLine

独自のコマンドを実行して、モデル、コスト、git ブランチなどのコンテキストを含むステータスラインをプロンプトの下にレンダリングします。オプションのフィールドで、間隔の調整、定期的な再実行の追加、スクリプト自体が vim.mode をレンダリングする場合の組み込みの vim モードインジケーターの非表示を行えます。
  • スコープ: Any file。allowManagedHooksOnly がオンの場合、または disableAllHooks が管理設定以外で設定されている場合、管理設定の値のみが実行されます。
  • 型: "command" に設定された type と command 文字列を持つオブジェクト。加えて、文字数を表すオプションの padding、秒数を表すオプションの refreshInterval(最小値 1)、Boolean であるオプションの hideVimModeIndicator を持ちます
  • デフォルト: 未設定。ステータスラインは表示されません
この例では、モデル名とコンテキストの使用量を出力し、2 文字分の水平方向の間隔を追加します。
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 によるターミナルのタイトルの更新を完全に停止するには、代わりに 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
tmux -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" を使用します
この例では、音声入力をオンにし、キーを 1 回タップすると録音を開始し、もう 1 回タップすると送信するようにします。
settings.json
autoSubmit は、ホールドモードでキーを離したときにプロンプトを送信します。音声入力には claude.ai アカウントが必要です。

voiceEnabled

v2.1.92 で voice オブジェクトに置き換えられて以降、非推奨です。古い設定ファイルが引き続き機能するように Claude Code は引き続きこれを読み取りますが、新しい設定では voice.enabled を設定してください。
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 トレーラー を取得します。プルリクエストの説明はプレーンテキストを取得します。以下のサブキーを使用して各部分を個別に設定します。 全てのアトリビューションを非表示にするには、attribution を false に設定します。それより前のバージョンも読み込む設定ファイルでは、commit と pr を空の文字列に設定し、sessionUrl を false に設定してください。 この例はコミットアトリビューションを置き換え、プルリクエストアトリビューションを削除し、セッションリンクを削除します。
settings.json
commit または pr を設定すると、Claude Code は非推奨の includeCoAuthoredBy 設定を無視し、設定しなかった方のデフォルトテキストを使用します。 Claude Code は、CLAUDE.md または memory ルールなど、アトリビューションに関するカスタマー独自の命令が、managed settings で設定されている場合を除き、これらのコミットおよび PR 行より優先されることを Claude に伝えます。

includeCoAuthoredBy

v2.0.62 以降非推奨。attribution に置き換えられました。Claude Code はまだこれを読み込みますが、新しい設定は attribution を設定する必要があります。
このキーを置き換える 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
非対話モード または Agent SDK でシステムプロンプトを置き換えると、このキーが 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
Claude Code はそれ自体がレンダリングするリンクにのみテンプレートを適用します。Claude がメッセージに書き込む PR 番号(#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 を書き込みます。
この例はデフォルトトレーラーをカスタム行とカスタム 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@marketplace ID でマッチするため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです。これにより、組織マーケットプレイスを通じて検証済みフックを配布しながら、その他すべてをブロックできます。このようなプラグイン内の 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 が停止し、組織の mod は実行し続けます
Claude Code に組み込まれた mod は、どちらの場合も実行し続けます。それぞれに独自のスイッチがあります。 管理設定がこのキーを設定している場合に Agent SDK フックを実行し続けるには、Claude Code v2.1.242 以降が必要です。 フックが無効な間、/goal コマンドは実行できず、/hooks メニューはフックの代わりに通知を表示します。

ステータスラインとファイル提案ゲート

Claude Code は statusLine、fileSuggestion、subagentStatusLine について、この順序で 2 つの決定を行います:
  • 完全にオフ: 管理設定が disableAllHooks を設定している場合、またはフォルダが設定ファイル内のフックと同じ ワークスペーストラストルールの下で信頼されていない場合
  • 管理設定に絞られます: allowManagedHooksOnly が設定されている場合、設定の優先順位が適用された後に管理設定外で disableAllHooks が true である場合、または --safe-mode で Claude Code を起動した場合
絞られた場合、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" } グループの配列
  • デフォルト: 未設定。フックは実行されません
この例はすべての Bash ツール呼び出しの前にスクリプトを実行します:
settings.json
すべてのイベント、matcher パターン、ハンドラーフィールドについては、フックリファレンスを参照してください。フックをオフにするには、disableAllHooksを参照してください。フックを組織がデプロイするものに制限するには、allowManagedHooksOnlyを参照してください。

httpHookAllowedEnvVars

HTTP フックは環境変数の値をリクエストヘッダーに入れることができます。例えば Authorization: Bearer $HOOK_TOKEN ヘッダーですが、フックが独自の allowedEnvVars でリストしている変数のみです。このキーはすべての HTTP フックのそのリストに外側の制限を設定します: フックは変数を使用できるのは、独自の allowedEnvVars とこのキーの両方がそれを名前付けしている場合のみです。フックの定義がそれを要求している場合でも、フックが読むべきではないシークレットを読むのを防ぐために使用します。
  • スコープ: Any file。配列は設定ファイル全体でマージされます。
  • 型: 環境変数名の配列
  • デフォルト: 未設定。各フック独自の allowedEnvVars リストが適用されます
この例はヘッダー補間を MY_TOKEN と HOOK_SECRET に制限します:
settings.json
許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。 Agent SDK の 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
Claude Code v2.1.219 以降が必要です。v2.1.202 から v2.1.218 では、代わりに /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 アカウントでサインインしたセッションでプラグインが同期されます
すべてではなく 1 つの同期プラグインだけをオフにするには、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 許可リストを使用します
この例では、チャネルをオンにし、公式 Anthropic マーケットプレイスの Telegram プラグインのみを許可します。
managed-settings.json
空の配列はすべてのチャネルプラグインをブロックします。 このキーは、アカウントでチャネルが channelsEnabled のゲートを通過した時点で有効になります。Team プランと Enterprise プラン、および管理設定のある Console アカウントでは、channelsEnabled: true がそれに該当します。実行できるチャネルプラグインを制限するを参照してください。

blockedMarketplaces

組織のプラグインマーケットプレイスソースをブロックします。Claude Code は、マーケットプレイスの追加時と、プラグインのインストール、更新、リフレッシュ、自動更新の際にブロックリストを確認するため、ポリシーを設定する前に誰かが追加したマーケットプレイスもプラグインの取得に使用できなくなります。ブロックされたソースはダウンロード前に確認されるため、ファイルシステムに触れることはありません。 このキーを claude.ai 管理コンソールで設定した場合、制限の仕組みで説明しているとおり、組織内の誰かが claude.ai で git リポジトリからマーケットプレイスを追加するときにも claude.ai がこれを適用します。
  • スコープ: 管理
  • 型: マーケットプレイスソースオブジェクトの配列。形式は strictKnownMarketplaces と同じです
  • デフォルト: 未設定。ブロックされるマーケットプレイスはありません
この例では、1 つの GitHub リポジトリをマーケットプレイスソースとしてブロックします。
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
Claude Code v2.1.229 以降が必要です。

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 マーケットプレイスを含むすべてのマーケットプレイスソースをブロックする完全なロックダウンになります
この例では、2 つの GitHub リポジトリ(うち 1 つは 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 フィールドが完全に一致するか、両方とも未定義である必要があります
たとえば、Claude Code は以下の各ペアを 2 つの異なるソースとして扱います。
  • { "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 はすでに登録されている公式マーケットプレイスを引き続き利用可能にし、新しいマシンでは、初めて対話型ターミナルセッションを開始したときにマーケットプレイスを自動的に登録します。自動登録が行われないことが最も多いのは次の場合です。
  • マシンで最初の対話型ターミナルセッションより前に実行される非対話型環境。
  • 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" から指定する配列
  • デフォルト: 未設定。何もロックされません
この例では、スキルとフックをロックし、エージェントと MCP サーバーはロックしません。
managed-settings.json
いずれかのサーフェスをロックすると、Claude Code はスキルディレクトリプラグイン(ユーザーが ~/.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 アカウントから同期されたスキルの読み込みを停止します。バンドルスキル、管理ポリシーディレクトリ内のスキル、およびスキルディレクトリプラグイン以外のプラグインからのスキルは引き続き読み込みます。
managed-settings.json

strictPluginOnlyCustomization.agents

agents サーフェスをロックします。Claude Code は、~/.claude/agents/、.claude/agents/、および --add-dir ディレクトリからのエージェントの読み込みを停止します。組み込みエージェント、管理ポリシーディレクトリ内のエージェント、およびスキルディレクトリプラグイン以外のプラグインからのエージェントは引き続き読み込みます。
managed-settings.json

strictPluginOnlyCustomization.hooks

hooks サーフェスをロックします。
  • 実行を停止するもの:
    • ユーザー、プロジェクト、ローカルの settings.json からのフック
    • skills または agents のロックがブロックするソースからの、スキル、カスタムコマンド、エージェント内のフロントマターフック
  • 引き続き実行するもの: 管理設定内のフック、およびスキルディレクトリプラグイン以外のプラグインからのフック
フロントマターフックの実行が停止されたスキル、カスタムコマンド、エージェントも、それ自体のサーフェスがロックされていない限り引き続き読み込まれます。 フロントマターで hooks を宣言している個人またはプロジェクトのスキルは、allowed-tools による事前承認も失うため、ユーザーにはそのフィールドに記載されたツールについて権限プロンプトが表示されます。そのようなスキルが context: fork によってサブエージェントで実行される場合は、事前承認が維持されます。hooks を宣言していないスキルも事前承認を維持します。
managed-settings.json

strictPluginOnlyCustomization.mcp

mcp サーフェスをロックします。Claude Code は、~/.claude.json と .mcp.json からの MCP サーバーの読み込みを停止します。managed-mcp.json のサーバー、managedMcpServers のサーバー、およびスキルディレクトリプラグイン以外のプラグインからの 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 オブジェクトとオプションの autoUpdate Boolean を持つオブジェクトにマッピングするオブジェクト
  • デフォルト: 未設定
この例では、GitHub マーケットプレイスと、セルフホストの git URL からのマーケットプレイスを登録します。
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
ユーザーは引き続き独自の MCP サーバーを追加できます。管理対象ホワイトリストと一致するサーバーのみが読み込まれます。ホワイトリストを管理設定のみに制限するを参照してください。

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 Code は、承認ダイアログでサーバーを拒否すると、このキーを .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
Claude Code は管理設定を最初に読み込み、次に --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
Claude Code は Windows でランチャーを無視し、すべてのプロセスをラップされずに開始します。Claude Code v2.1.210 以降が必要です。

teammateMode

Claude Code がエージェントチームのチームメイトを表示する場所を選択します:メインターミナルペイン内、またはターミナルがサポートしている場合は分割ペイン内。表示モードを選択するを参照してください。
  • スコープ: 任意のファイル。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み込みます。
  • タイプ: 文字列、以下のいずれか:
    • "in-process": チームメイトはメインターミナルペイン内で実行されます
    • "auto": tmux 内で実行している場合、または PATH に it2 がある iTerm2 内で実行している場合、または tmux がインストールされている場合は分割ペイン。それ以外の場合はインプロセス
    • "tmux": ターミナルから検出された tmux または iTerm2 を使用して分割ペイン
    • "iterm2": it2 CLI を通じた 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
リンクされた worktree 内では、"head" はメインチェックアウトの HEAD ではなく、その worktree の HEAD に解決されます。

worktree.symlinkDirectories

メインリポジトリからディレクトリを各 worktree にシンボリックリンクして、ディスク上の大きなディレクトリを複製しないようにします。
  • スコープ: 任意のファイル
  • タイプ: 文字列の配列、リポジトリルートに相対的なディレクトリパス
  • デフォルト: 未設定。Claude Code はディレクトリをシンボリックリンクしません
この例は、メインリポジトリから node_modules と .cache をすべての新しい worktree にシンボリックリンクします:
settings.json

worktree.sparsePaths

git sparse-checkout を通じて各 worktree にリストされたディレクトリのみをチェックアウトします。Claude Code はそれらのディレクトリとルートレベルのファイルのみをディスクに書き込みます。これは大規模なモノレポでより高速です。必要なディレクトリのみをチェックアウトするを参照してください。
  • スコープ: 任意のファイル
  • タイプ: 文字列の配列、リポジトリルートに相対的なディレクトリパス
  • デフォルト: 未設定。各 worktree はツリー全体をチェックアウトします
この例は、各 worktree で packages/my-app と shared/utils のみをチェックアウトします(ルートレベルのファイルを含む):
settings.json
スパース worktree が存在する間、git はリポジトリの共有 .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
git リポジトリの外では、失敗する WorktreeCreate フックがブロックを解放し、セッションが作業ディレクトリをその場で編集できるようにします。

worktree.location

Desktop の SSH セッションが worktree を作成するリモートマシン上のフォルダーを、<project-root>/.claude/worktrees/ の代わりに選択します。このキーを読み込むのはデスクトップアプリのみです。--worktree、EnterWorktree ツール、分離されたサブエージェント、およびバックグラウンドセッションはこのキーを無視します。Claude Desktop v1.44121.0 以降が必要です。
  • スコープ: ユーザー、リモートマシン上の ~/.claude/settings.json 内
  • タイプ: 文字列、絶対パスまたは ~/ で始まるパス
  • デフォルト: 未設定。worktree はプロジェクト内に作成されます
この例はフォルダーを ~/worktrees に設定します:
settings.json
Desktop で SSH 接続に設定された Worktree folder が優先されます。組織がセッションで使用できるフォルダーを制限している場合、Desktop は worktree をプロジェクト内に保持します。

リモート、デスクトップ、および通知

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
Claude Code は非対話モードでは要約を表示しません。

disableArtifact

非推奨であり、enableArtifact に置き換えられました。Claude Code は disableArtifact: true を enableArtifact: false と同等として引き続き尊重し、disableArtifact: false は無視します。
代わりに 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
Disable artifacts はツールをオフにするすべての方法を一覧表示します。

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 セッションとクラウドセッション: 影響を受けません
デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。Claude Desktop v1.37937.0 以降が必要です。
  • 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
ユーザー設定以外のソースがツールをオフのままにしている間、Claude Code は /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
Mobile push notifications を参照してください。

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
Claude Code はプロジェクトまたはローカル設定からの 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 以降が必要です。 この例は、Dev box という名前の 1 つの接続を追加します。acme-dev create は独自のツールを表します:
settings.json
Claude Code v2.1.307 より前は、Edit ツールは有効な設定ファイルにこのキーを追加する変更を拒否し、エラー 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 が管理ソースを組み合わせる方法に従います。サーバー管理設定のみを通じて配信されたリストは、サーバー管理設定を取得するセッションのみに到達します。
  • タイプ: 文字列の配列。各要素は以下のいずれか:
  • デフォルト: 未設定。任意のプロバイダーを使用できます
managed-settings.json
各クラウドプロバイダーのエントリは、そのプロバイダー独自のサービス(地域、FIPS、プライベートエンドポイントを含む)を意味します。 Claude Code がプロバイダー名として認識しないエントリは削除され、報告され、リストの残りは強制されます。空のリスト、またはすべてのエントリが認識されないリストの場合、Claude Code はすべてのプロバイダーを拒否し、マシン上で起動しません。

管理 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
Claude Code はこれらの場合に値をキャッシュし、コマンドを再実行します。
  • キャッシュの有効期限後。デフォルトは 5 分、または CLAUDE_CODE_API_KEY_HELPER_TTL_MS で設定した間隔
  • Anthropic API へのリクエスト(直接または LLM ゲートウェイ経由)が 401 または 403 で失敗した場合
  • Anthropic API へのリクエスト(直接または LLM ゲートウェイ経由)を送信する前に、キャッシュされた出力がヘルパーが生成した後に期限切れになった JWT である場合。Claude Code v2.1.246 以降が必要です。
最後の 2 つのケースは、ヘルパーの出力が Claude Code が送信する認証情報であり、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
すべてのファーストパーティログインパスが制限を適用します。VS Code 拡張機能、Agent SDK、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
値が有効な URL でない場合、サインイン画面はそれを報告し、管理設定ファイルの残りは引き続き適用されます。ゲートウェイ URL を設定するを参照してください。

forceLoginOrgUUID

管理ソースから、claude.ai アカウントログインが 1 つの Anthropic 組織(単一の UUID として指定)または複数の組織(配列として指定)に属することを要求します。任意の設定ファイルから、Claude Code は単一の UUID を使用して claude.ai または Claude Console ログイン中にその組織を事前選択し、配列の場合は何も事前選択しません。任意の設定ファイルでキーを設定する場合、Claude Code はそのファイルが適用されるセッションで キーレス Console サインインの提供も停止し、代わりに API キーを作成します。
  • スコープ: Any file。管理ソースのみが制限を強制します。他の設定ファイルの単一の UUID は、制限なしにログイン中に組織を事前選択します。
  • タイプ: 文字列、1 つの UUID、または文字列の配列、複数の UUID
  • デフォルト: 未設定。任意の組織がログインできます
この例は、1 つを事前選択せずに 2 つの組織のいずれかからのログインを受け入れます。
managed-settings.json
管理ソースが空の配列、または文字列でも文字列の配列でもない値を設定した場合、Anthropic アカウントでサインインするユーザーは Claude Code を起動することもログインを完了することもできません。ユーザーには、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
例のドキュメンテーション範囲を独自のブロックに置き換えます。Claude Code はドキュメンテーション範囲、VPN と NAT64 クライアントがローカルで使用する範囲、およびマルチキャストなどのネットワークが番号を付けられていない予約スペースを拒否します。 エントリが無効であるか、値が文字列のリストでない場合、/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
Claude Code は /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" などのバージョン番号。有効なバージョンではない値は無視されます
  • デフォルト: 未設定の場合、更新はチャネルが提供するすべてのバージョンをインストールできる
この例は stable チャネルに従い、2.1.100 より下のバージョンをインストールするのを拒否します:
settings.json
このキーは更新のみを制約します。Claude Code がバージョン以下で起動するのを拒否させるには、代わりに 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
その他の値を指定すると Claude のツールはオンのままになり、受け入れられた 2 つの値のいずれでもない空でない文字列は警告をログに記録します。ユーザーと Claude の両方に対して外部サイトをブロックするには、代わりに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
同じ率が VS Code 拡張機能のサーベイに適用されます。

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 はブロックリストを参照せずに任意の URL を試行するため、Claude が到達できるドメインを制限する必要がある場合は 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
Claude Code は、サーバーがすべてプロセス内 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
MDM プロファイルまたは管理設定ファイルで設定して、最初のサーバーペイロードが到着する前に失敗時閉鎖起動を強制します。Claude Code は、サーバー管理設定を取得するセッションでのみチェックを適用します。それらを取得しないセッションは待機なしで開始します。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"
デプロイする最優先度のソースでキーを配信します。サーバー管理設定を受け取らないマシンは、Claude Code がこのキーまたはポリシーキーを含む最優先度のソースからキーを読み取るため、MDM プロファイルにもキーが必要です。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 を含むオブジェクト
  • デフォルト: 設定されていないため、ヘルパーは実行されません
サーバー管理設定が起動時にポリシーを配信する場合、ヘルパーのソースより優先され、ヘルパーは実行されません。 後の設定取得がサーバー管理設定が削除されたことを報告する場合、Claude Code はその時点でヘルパーを実行します。次の起動を待つ代わりに。その出力はセッションの残りを管理し、失敗した実行は 失敗した起動実行 と同じメッセージでセッションを終了します。 この例は、5 秒のタイムアウトでヘルパーを実行し、5 分ごとに再実行します:
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 が修復できないスキーマ違反 があります。
起動実行が失敗する場合、Claude Code は理由を出力し、起動を拒否します。0 以外の終了後、理由にはヘルパーの stderr が含まれます。stderr が空の場合は stdout が含まれます。タイムアウト後、理由は 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 回実行します
この例は、5 分ごとにヘルパーを再実行します:
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
管理ソースがチェーンをオンにすると、HKCU ポリシーは HKCU もキーを 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
Claude Code は 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
Claude Code は 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
Claude Code は settings.json でこのキーを無視します。

copyFullResponse

/copy がピッカーを表示せずに、毎回完全な応答をコピーするようにします。そのピッカーで Always copy full response を選択すると、このキーが true に設定されます。/config に Skip the /copy picker として表示されます。
  • スコープ: グローバル設定
  • タイプ: ブール値
    • true: /copy はピッカーを表示せずに完全な応答をコピーします
    • false: 応答にコードブロックまたは引用ブロックが含まれている場合、/copy はピッカーを表示し、1 つのブロックまたは完全な応答を選択できます
  • デフォルト: false
~/.claude.json
Claude Code は settings.json でこのキーを無視します。

copyOnSelect

フルスクリーンレンダリングまたはエージェントビューでマウスで選択を終了したときに、テキストをクリップボードに自動的にコピーします。フルスクリーンレンダリングがオンの場合、/config に Copy on select として表示されます。
~/.claude.json
Claude Code は settings.json でこのキーを無視します。

defaultToAgentsView

引数なしで claude を実行するときに、新しい会話の代わりにエージェントビューを開きます。エージェントビューがオフになっていない限り、/config に Open agents view by default として表示されます。
  • スコープ: グローバル設定
  • タイプ: ブール値
    • true: 引数なしの claude はエージェントビューを開きます。ただし、エージェントビューがオフになっている場合は除きます
    • false: 引数なしの claude は新しい会話を開始します
  • デフォルト: false
~/.claude.json
Claude Code は 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
Claude Code は 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
オンにすると、Claude Code が開くバッファは次のようになり、マーカー行の下のテキストのみがプロンプトとして送信されます:
Claude Code は応答の最後の 50 行を保持し、カットを # … (earlier output truncated) でマークします。 Claude Code は settings.json でこのキーを無視します。

leftArrowOpensAgents

空のプロンプトで ← を押して、セッションをバックグラウンドにしてエージェントビューを開きます。このキーを false に設定してショートカットをオフにします。エージェントビューが利用可能な場合、/config に ← opens agents として表示されます。
  • スコープ: グローバル設定
  • タイプ: ブール値
    • true: ターミナルで開始したセッションの空のプロンプトで ← を押すと、セッションがバックグラウンドになり、エージェントビューが開きます
    • false: Claude Code はショートカットをオフにします。エージェントビューから接続したセッションでは、空のプロンプトで ← を押すと切断されます
  • デフォルト: true
~/.claude.json
Claude Code は settings.json でこのキーを無視します。

permissionExplainerEnabled

v2.1.257 で削除されました。Bash および PowerShell 権限プロンプトの Ctrl+E コマンド説明と一緒に削除されました。現在のバージョンでこれを設定しても効果はありません。
v2.1.256 まで、Bash または PowerShell 権限プロンプトで Ctrl+E を押してコマンドのモデル生成説明を表示でき、このキーを false に設定してそのショートカットをオフにできました。

prStatusFooterEnabled

現在のブランチのオープンなプルリクエストまたはマージリクエストのバッジをプロンプトフッターに表示し、そのステータスを示す色付きの下線を表示します。/config に Show PR status footer として表示されます。
~/.claude.json
Claude Code は settings.json でこのキーを無視します。

teammateDefaultModel

v2.1.234 で削除されました。その /config 行 Default teammate model と一緒に削除されました。現在のバージョンでこれを設定しても効果はありません。
v2.1.233 まで、このキーをエージェントチームのチームメイトのモデルに設定しました。プロンプトがモデルを指定しなかったチームメイト用:"sonnet" などのエイリアス、または null でリードのモデルに従う。Claude Code が現在そのようなチームメイト用に選択するモデルについては、チームメイトとモデルを指定を参照してください。
  • スコープ: グローバル設定。v2.1.233 以前。
  • タイプ: 文字列、モデルエイリアスまたは完全なモデル ID、または null
  • デフォルト: 未設定

関連項目