Skip to main content
Skip to content

GitHub Copilot CLI の構成ディレクトリ

~/.copilot ディレクトリに関する情報を検索します。Copilot CLIには、構成、セッション データ、およびカスタマイズが格納されます。

Copilot CLI では、構成、セッション履歴、ログ、カスタマイズがコンピューター上の 1 つのディレクトリに格納されます。 既定では、このディレクトリは ~/.copilot (つまり、 $HOME/.copilot) です。

この記事では、このディレクトリの内容とその使用方法について説明します。

ディレクトリの概要

~/.copilot ディレクトリには、次の最上位項目が含まれています。

Pathタイプ説明
agents/ディレクトリ個人用カスタム エージェント定義
config.jsonFile自動的に管理されるアプリケーションの状態 (認証、インストールされているプラグイン、およびその他の内部データ)
copilot-instructions.mdFile個人のカスタム命令 (すべてのセッションに適用)
extensions/ディレクトリCLI によって読み込まれた個人用拡張機能
hooks/ディレクトリユーザー レベルのフック スクリプト
ide/ディレクトリIDE 統合状態
installed-plugins/ディレクトリインストールされているプラグイン ファイル
instructions/ディレクトリその他の個人用 *.instructions.md ファイル
logs/ディレクトリセッション ログ ファイル
lsp-config.jsonFileユーザー レベルの LSP サーバー定義
mcp-config.jsonFileユーザー レベルの MCP サーバー定義
mcp-oauth-config/ディレクトリMCP OAuth トークンと登録フォールバック ストレージ
mcp-secrets/ディレクトリMCP シークレット プレースホルダーのローカル フォールバック ストレージとインデックス
permissions-config.jsonFileプロジェクトごとに保存されたツールとディレクトリのアクセス許可
plugin-data/ディレクトリインストールされているプラグインの永続的なデータ
providers.jsonFileユーザー レベルの Bring Your Own-Key (BYOK) プロバイダーとモデル レジストリ
session-state/ディレクトリセッション履歴とワークスペース データ
command-history-state/ディレクトリコマンド履歴データ
session-store.dbFileセッション間データ用の SQLite データベース
settings.jsonFile個人用の構成設定
skills/ディレクトリ個人のカスタム スキル定義

メモ

これらの項目のすべてがすぐに表示されるわけではありません。 一部は、特定の機能を初めて使用したときにオンデマンドで作成されます。たとえば、 installed-plugins/ は、最初のプラグインをインストールした後にのみ表示されます。

ユーザーが編集可能なファイル

次のファイルは、ユーザーが直接編集するか、CLI コマンドを使用して管理するように設計されています。

settings.json

これは、 Copilot CLIのプライマリ構成ファイルです。 セッション内では、対話型の /settings コマンドを使用して特定の値を変更したり、 /settings KEY VALUE を実行して 1 つの値を設定したりできます。 「/settings コマンドを使用して設定を変更する」を参照してください。 または、テキスト エディターで settings.json ファイルを直接編集することもできます。 このファイルは、コメント付き JSON (JSONC) をサポートしています。

既定では、このファイルはユーザー レベルの構成ディレクトリである ~/.copilot ディレクトリにあります。 これには、すべてのリポジトリのグローバル ユーザー レベルの既定値が含まれています。 このディレクトリの場所を変更するには、 COPILOT_HOME 環境変数を別のパスに設定します。

メモ

ユーザーが編集可能な設定は、 settings.jsonに格納されます。 これらの設定は、もともと config.jsonに格納されていました。 config.jsonのすべてのユーザー設定は無視されます。 このファイルは、インストールされているプラグインや信頼されたフォルダーなどの内部状態を格納するために使用されます。

settings.jsonが読み取り、解析、または検証に失敗した場合、Copilot CLIは無効な値を無視し、**** コマンドの /settings タブへ誘導する起動時の警告をタイムラインに表示します。 そのタブを開いて特定のエラーを表示し、報告された問題を修正して、影響を受ける設定を復元します。

認識されない設定 (入力ミスなど) ではない最上位のキーがsettings.jsonに含まれている場合は、タイムラインまたは stderr ではなく、/settings コマンドの [問題] タブに一覧表示Copilot CLI。 タブのラベルには、構成スコープに問題がある場合の数 (たとえば、 Problems (2)) が表示されます。 $schema は許容され、報告されません。

~/.copilot/settings.jsonがシンボリック リンクである場合 (たとえば、dotfiles リポジトリを介して設定を同期する場合)、/settings コマンドからの書き込みは、シンボリック リンクを通常のファイルに置き換えるのではなく、シンボリック リンクに従ってターゲットを更新します。

設定の完全な一覧と、リポジトリ レベルの構成との対話方法については、この記事で後述する 構成ファイルの設定 を参照してください。

ヒント

ターミナルで copilot help config を実行してクイック リファレンスを確認します。

セッションの外部で、シェルから copilot config を使用して非対話形式で設定を読み取ったり変更したりします。これは /settings スラッシュ コマンドに対応するスクリプトです。 ユーザー設定ファイルではなく、.github/copilot/settings.json または .github/copilot/settings.local.json をターゲット --repo または --local に追加します。リポジトリでオーバーライド可能なキーのみを書き込むことができます。 完全なコマンド リファレンスについては、 GITHUB COPILOT CLI コマンド リファレンス を参照してください。

copilot-instructions.md

作業しているプロジェクトに関係なく、すべてのセッションに適用される個人のカスタム指示。 このファイルはリポジトリ レベルの copilot-instructions.md と同じように動作しますが、グローバルに適用されます。

詳細については、「GitHub Copilot用のリポジトリカスタム命令の追加」を参照してください。

instructions/

追加の個人用命令ファイルを *.instructions.md ファイルとしてここに格納します。 これらは copilot-instructions.md と共に読み込まれ、すべてのセッションに適用されます。 ~/.copilot/instructions/code-style.instructions.mdなど、トピックごとに手順を整理できます。

mcp-config.json

ユーザー レベルで使用できる MCP (モデル コンテキスト プロトコル) サーバーを定義します。 これらのサーバーは、使用しているプロジェクト ディレクトリに関係なく、すべてのセッションで使用できます。 Projectレベルの MCP 構成 (.mcp.json または .github/mcp.json) は、サーバー名の競合時にユーザー レベルの定義よりも優先されます。

詳細については、「GitHub Copilot CLI 用の MCP サーバーを追加する」を参照してください。

lsp-config.json

ユーザー レベルで使用できる言語サーバー プロトコル (LSP) サーバーを定義します。 これらのサーバーは、エージェントに言語インテリジェンス (診断、完了など) を提供します。 /lspスラッシュ コマンドを使用してこのファイルを管理するか、直接編集します。

詳細については、「GitHub Copilot CLI 用の LSP サーバーの追加」を参照してください。

providers.json

bring your-own-key (BYOK) プロバイダーとモデルのレジストリを、 providers キーと models キーを持つ JSON オブジェクトとして定義します。 このファイルが任意のプロバイダーまたはモデルを宣言する場合は、レガシ COPILOT_PROVIDER_* 環境変数よりも優先されます。

既定では、このファイルは ~/.copilot/providers.jsonにあります。 その場所を COPILOT_PROVIDERS_CONFIG 環境変数でオーバーライドします。

このファイル内のモデルは、Copilot サブスクリプションによって提供されるモデルに加えて利用できます。 ファイルを手動で編集した後、Copilot CLIを再起動して変更を読み込んでください。 セットアップの手順については、「GITHUB COPILOT CLI への LLM モデルの追加」をご覧ください。

警告

このファイル内の API キー、ベアラー トークン、およびヘッダー値はプレーン テキストとして格納されます。 ファイルをリポジトリにコミットしたり、資格情報を削除せずに共有したりしないでください。 $MY_API_KEYなどの値はリテラル文字列であり、環境変数への参照ではありません。

プロバイダーの構成

コメントや末尾のコンマを使用せずに JSON オブジェクトを使用します。 ファイルには 2 つの配列が含まれています。 各プロバイダーは接続を定義し、各モデルはそれらのプロバイダーの 1 つを名前で参照します。 次の表では、 [] は配列内のエントリを意味します。 たとえば、models[].capabilities.supports.vision は、モデル エントリ内の vision 内の capabilities 内にある supports 設定です。

フィールドタイプ必須Default説明
providersオブジェクトの配列いいえ[]プロバイダー接続。
プロバイダーの設定を参照してください。
modelsオブジェクトの配列いいえ[]これらの接続を介して使用できるモデル。
モデルの設定を参照してください。

存在しないファイルまたは空のファイル、またはプロバイダーまたはモデルエントリのないファイルを使用すると、CLI は COPILOT_PROVIDER_* 環境変数にフォールバックできます。 いずれかの配列の値が null の場合は、空の配列として扱われます。 無効な JSON または無効なプロバイダーまたはモデル エントリを含むファイルでは、代わりに構成エラーが発生します。

CLI の起動時に構成済みのモデルを使用するには、PROVIDER-NAME/MODEL-ID を --model オプションに指定します。 PROVIDER-NAME はプロバイダーの name 値であり、 MODEL-ID はモデルの id 値です。 たとえば、 copilot --model local/qwen3:8bを実行します。 または、対話型セッション中に、/model を入力し、ピッカーからモデルを選択することもできます。

このファイルは、 Copilot CLIで使用するための接続、モデル機能、およびモデル命令を構成します。 このファイル内の JSON は、プロバイダー API 要求本文ではありません。 このファイルに設定を追加しても、設定はプロバイダーに渡されません。

プロバイダー設定

providersの各エントリは、次のフィールドを受け入れます。 必要なのは常にnameとbaseUrlだけです。 認証要件はプロバイダーによって異なります。

フィールドタイプ必須Default説明
providers[].nameStringはいなし
"local"や"my-anthropic"など、この接続の一意の名前。
/を含めてはなりません。 モデルは、 provider フィールドを使用してこの名前を参照します。
providers[].typeStringいいえ"openai"接続の種類: "openai"OpenAI 互換 API 用、"azure"Azure OpenAI 用、"anthropic"Anthropic の Messages API 用、または llama-server``"local_model" によって提供されるローカル モデル用。
providers[].baseUrlURL またはファイル パスを含む文字列はいなしプロバイダーの API ベース URL。 OpenAI 互換 API の場合は、https://api.openai.com/v1 などの必要な API プレフィックスを含めます。Ollama の場合は http://127.0.0.1:11434/v1 を含めます。 Anthropicに直接アクセスするには、https://api.anthropic.comを使用します。 Azureの場合は、リソース エンドポイントを使用します。
"type": "local_model" を使用すると、代わりに .gguf モデル ファイルへのパスを指定できます。
providers[].wireApiStringいいえ"completions"OpenAI 接続と Azure 接続の API 形式: Chat Completions の"completions"、または Responses API の"responses"。 Anthropicでは無視されます。
providers[].transportStringいいえ"http"
"http" または "websockets" を指定できます。 WebSocket には "type": "openai" と "wireApi": "responses"が必要であり、プロバイダーはそのトランスポートをサポートする必要があります。
providers[].apiKeyStringプロバイダーに依存未設定プロバイダーの API キー。 認証されていないローカル サーバーの場合は省略できます。
providers[].bearerTokenStringプロバイダーに依存未設定プレフィックス Bearer のないベアラー トークン。 両方が設定されている場合、apiKey より優先されます。 これは静的トークンであり、トークン更新コマンドではありません。
providers[].headersObjectいいえ未設定ヘッダー名をキーとして、文字列を値として使用する追加の HTTP ヘッダー。
providers[].headers.<header-name>Stringいいえ未設定ヘッダーの値 ( "X-Project": "my-project"など)。 標準プロバイダー認証には、 apiKey または bearerToken を使用します。
providers[].azureObjectいいえ未設定Azure固有のオプション。 以下で説明する apiVersion フィールドが含まれます。
providers[].azure.apiVersionStringいいえ未設定要求する Azure API のバージョン。 エンドポイントでサポートされている空でないバージョン文字列に設定すると、CLI はバージョン付きデプロイ API を使用します。 省略すると、CLI はバージョンレスの /openai/v1 API を使用します。
providers[].localModelObjectいいえ未設定CLI マネージド .gguf モデルのサーバー オプション。
「ローカル モデル サーバーの設定」を参照してください。
providers[].modelProviderStringいいえ接続から推論されるテレメトリにのみ使用されるプロバイダー ラベル。 認識される値は、 "openai"、 "anthropic"、 "azure_openai"、 "ollama"、 "lm_studio"、 "foundry_local"、および "llama_cpp"です。 接続プロトコルまたはモデルの動作を変更しません。
providers[].hasBearerTokenProviderブール値いいえfalseSDK を使用するアプリケーションがコールバックを介してトークンを提供することを示します。 CLI を手動で構成する場合は、これを省略します。 このファイルで true に設定しても、トークン プロバイダーは登録されません。

名前付きプロバイダー ファイルは、 apiKeyCommandをサポートしていません。 資格情報またはトークン更新コマンドは、 metadata または localModel.argsに配置しないでください。

ローカル モデル サーバーの設定

これらの設定は、 providers[].type が "local_model" され、 baseUrl が .gguf ファイルへのパスである場合にのみ適用されます。 CLI は、モデルが最初に使用されたときに開始されますllama-server。 実行可能ファイルをインストールし、PATHで利用可能にする必要があります。 CLI を起動するディレクトリに依存しないように、絶対モデル パスを使用します。

baseUrlが HTTP または HTTPS URL の場合、CLI はその既存のサーバーに接続し、これらのスタートアップ設定を使用しません。 また、Ollama やその他の OpenAI 互換サーバーも設定しません。

providers[].localModel内のすべてのフィールドは省略可能です。

フィールドタイプDefault説明
providers[].localModel.ctxSize非負整数
llama-server 既定トークン単位で要求されるコンテキスト サイズ。--ctx-size として渡されます。 実際の割り当ては、要求されたサイズよりも小さくなることがあります。
providers[].localModel.nGpuLayers非負整数
llama-server 既定GPU にオフロードするモデル レイヤーの数。 --n-gpu-layersとして渡されます。
providers[].localModel.parallel非負整数1
--parallelとして渡されるサーバー スロットの数。 複数のスロットで、使用可能なコンテキストを要求間で分割できます。
providers[].localModel.args文字列の配列[]追加の llama-server 引数。 各引数は、["--threads", "8"] のような個別の文字列です。 これらは、上記のフィールドから生成された引数です。
providers[].localModel.persistブール値falseCLI が正常終了した後もマネージド サーバーが実行されたままになるように要求し、後の CLI プロセスで再利用できるようにします。 それ以外の場合、CLI は終了時にサーバーをクリーンアップします。
providers[].localModel.logsファイル パスを含む文字列または "inherit"破棄された出力サーバーの標準出力とエラー出力を指定したファイルに追加します。 絶対パスを使用します。
"inherit" は出力をターミナルに送信し、CLI の表示を妨げる可能性があります。

CLI は、サーバーのモデル パス、ホスト、ポートを管理します。 argsなどのフォームを含め、--port=8080、--model、-m、または--hostを--port経由で渡すことはできません。

モデルの設定

modelsの各エントリは、次のフィールドを受け入れます。 idとproviderのみが必要です。

フィールドタイプ必須Default説明
models[].idStringはいなしCLI で使用されるモデル識別子。 プロバイダー内で一意である必要があります。
wireModelが設定されていない限り、プロバイダーのモデル名としても使用されます。
models[].providerStringはいなし
name内のエントリのprovidersと一致する必要があります。
models[].wireModelStringいいえ
id の値プロバイダーに送信されるモデルまたはデプロイメント名。 これは、CLI で選択する ID とは異なる名前をプロバイダーが想定している場合に使用します。
models[].modelIdStringいいえ
id の値CLI のモデル固有の動作と既定値を検索するために使用されるモデル ID。 エイリアスまたはデプロイ名の場合は、基になるモデルの認識 ID に設定します。 これにより、プロバイダーに送信されるモデル名は変更されません。
models[].nameStringいいえPROVIDER-NAME/MODEL-IDモデルの表示名。 選択IDは変わりません。
models[].maxPromptTokensIntegerいいえモデル依存 それ以外 128000入力トークンの上限。 モデルとデプロイに一致する正の整数を使用します。
models[].maxContextWindowTokensIntegerいいえ既知のモデル制限。該当しない場合は未設定入力トークンと出力トークンを含むコンテキスト ウィンドウの合計制限。 これは、CLI が認識しない制限を持つモデルに対して設定します。
models[].maxOutputTokensIntegerいいえモデルおよびプロバイダーに依存出力トークンの予算 プロバイダーとモデルの推論要件により、出力がさらに制約される可能性があります。
models[].capabilitiesObjectいいえモデルの既定値サポートされている機能と制限について説明します。
モデルの性能を参照してください。
models[].systemMessageObjectいいえ標準 CLI の手順このモデルのシステム命令を追加、置換、またはカスタマイズする
モデル システム メッセージを参照してください。
models[].metadataObjectいいえ未設定モデルが検出されたときに保存された情報を含む、追加の説明データ。
モデルメタデータを参照してください。

3 つのトークン制限フィールドは、 0 から 4294967295までの整数を受け入れます。 制限を無効にする方法として 0 に依存するのではなく、デプロイに適した正の値を使用します。 これらの設定は、使用する上限を CLI に指示しますが、モデルの実際の容量は増やしません。

モデル機能

models[].capabilities オブジェクトはモデルを記述します。 機能を true に設定しても、その機能をサポートしていないモデルには追加されません。

フィールドタイプ説明
models[].capabilities.familyStringモデルファミリーを説明する識別子。 CLI のモデル固有の動作を指定するには、このフィールドではなく modelId を使用します。
models[].capabilities.supportsObjectサポートされている機能。
サポートされているモデル機能を参照してください。
models[].capabilities.limitsObjectトークンとイメージの制限。
モデル機能の制限を参照してください。

すべての機能フィールドは任意です。 オブジェクトはモデルの既定値にマージされ、配列は対応する既定の配列に置き換えられます。

サポートされているモデル機能

次のフィールドは、 models[].capabilities.supports内に属しています。

フィールドタイプ説明
models[].capabilities.supports.visionブール値モデルが画像を受け入れるかどうか。 既定では、他に利用可能な機能情報がない場合、false が使用されます。
models[].capabilities.supports.toolCallsブール値モデルがツール呼び出しをサポートしているかどうか。 この表記 tool_calls も受け入れられ、両方が存在する場合は優先されます。 ここでは、ツールを実行するための実行の許可ではなく、サポートについて説明します。
models[].capabilities.supports.streamingブール値モデルがストリーム応答をサポートしているかどうか。 これは機能情報であり、応答ストリーミングのオンとオフを切り替える設定ではありません。
models[].capabilities.supports.adaptive_thinking文字列またはブール値モデルのAnthropic適応型思考のサポート。 以下で説明する文字列値のいずれかを指定してください。 互換性のために、 true は "optional" を意味し、 false は "unsupported"を意味します。
models[].capabilities.supports.reasoning_effort文字列の配列モデルがサポートする推論の労力レベル。 これにより、要求に使用するレベルではなく、使用可能なレベルがアドバタイズされます。 CLI では、モデル固有の制限も適用されます。
models[].capabilities.supports.thinkingブール値モデル検出で保存できる説明的なサポート情報。 単独で思考を設定したり、推論作業の制御を有効にしたりすることはありません。
models[].capabilities.supports.reasoningEffortブール値または文字列の配列互換性フィールド。 ブール値では、推論作業の制御は有効になりません。また、配列は CLI 機能間で一貫して使用されません。 サポート対象レベルのリストには reasoning_effort を使用します。

adaptive_thinking値の意味は次のとおりです。

Value意味
"unsupported"モデルは適応型思考をサポートしていません。 これは、他の形式の推論を排除するものではありません。
"optional"モデルはアダプティブ思考をサポートしますが、アダプティブ思考は必須ではありません。
"required"思考が有効になっている場合、モデルには手動の思考の割り当てではなく適応型思考が必要です。 Thinking は引き続き無効にできます。
"adaptive_only"モデルには適応型思考が必要であり、思考を無効にすることはできません。

reasoning_effortの場合、CLI は"none"、"minimal"、"low"、"medium"、"high"、"xhigh"、および"max"を認識します。 ["low", "medium", "high"] など、モデルでサポートされているレベルのみを一覧表示してください。 省略されたリストまたは空のリストの場合、CLI はそのモデル固有の既定値を使用します。 --reasoning-effortまたは使用可能な場合はモデル ピッカーを使用してレベルを選択します。

モデル機能の制限

次のフィールドは、 models[].capabilities.limits内に属しています。 すべて省略可能です。

フィールドタイプ説明
models[].capabilities.limits.max_prompt_tokensInteger入力トークンの上限。 に相当します。
models[].capabilities.limits.max_context_window_tokensIntegerコンテキストウィンドウの合計上限。 に相当します。
models[].capabilities.limits.max_output_tokensInteger出力トークン数の上限。 に相当します。
models[].capabilities.limits.visionObject以下のフィールドを含む画像制限。
models[].capabilities.limits.vision.supported_media_types文字列の配列
"image/jpeg"、"image/png"、"image/webp"など、受け入れ可能な画像 MIME の種類。 これら 3 つの型が既定です。
models[].capabilities.limits.vision.max_prompt_imagesIntegerプロンプトあたりのイメージの最大数。 既定値は 1 です。
models[].capabilities.limits.vision.max_prompt_image_sizeInteger各イメージの最大サイズ (バイト単位)。 既定値は 3145728 (3 MiB) です。

トークンの予算を手動で設定する場合は、モデルの maxPromptTokens、 maxContextWindowTokens、および maxOutputTokens フィールドを使用します。 Discoveryでは、制限を両方の場所に保存できます。 異なる CLI 操作が 2 つの表現を読み取るため、重複する値の一貫性を保ちます。 CLI で管理されるローカル サーバーの場合、実測されたコンテキスト制限値が構成された値よりも優先される場合があります。

トークン数と画像サイズには負以外の整数を使用し、画像数には正の整数を使用します。 トークン数と画像数は、4294967295から0の範囲内に収まる必要があります。 画像のサイズは、トークンではなくバイト単位で測定されます。

モデルシステムメッセージ

models[].systemMessage は、汎用サブエージェントを含め、CLI がこのモデルの標準プロンプトを作成するときに使用されるシステム命令を制御します。 これらのパスでは、セッション全体のシステム メッセージ構成よりも優先されます。 これは、選択したカスタム エージェントまたは特殊なサブエージェントの指示に代わるものではありません。

追加の指示のみが必要な場合は、"mode": "append" をお勧めします。 組み込みの命令を置き換えたり削除したりすると、CLI のツールの使用やその他の予期される動作が変わる可能性があります。 systemMessageに設定するのではなく、nullを省略して標準命令を保持します。

フィールドタイプ必須説明
models[].systemMessage.modeStringいいえ
"append" (既定値)、 "replace"、または "customize"。 以下のモードの表を参照してください。
models[].systemMessage.contentString
replace モード追加するテキスト、または置換手順として使用するテキスト。
customize モードでは、セクションの変更後に追加されます。
models[].systemMessage.sectionsObjectいいえセクションの変更。customize モードでのみ利用可能です。
システム メッセージ セクションを参照してください。
models[].systemMessage.contentBlocksオブジェクトの配列いいえ置換命令はブロックに分割され、 replace モードでのみ使用できます。
システムメッセージ コンテンツ ブロックを参照してください。

モードに一覧表示されているフィールドのみが許可されます。 たとえば、sectionsを設定せずに"mode": "customize"を追加すると、構成エラーが発生します。

Mode対応フィールド影響
"append"
mode、content標準プロンプトを保持し、 contentを追加します。
modeを省略すると、このモードが選択されます。
"replace"
mode、content、contentBlocks標準手順を置き換えます。
content は、contentBlocksを指定する場合でも、文字列として存在する必要があります。 CLI では、引き続き該当する環境とエージェント コンテキストを追加できます。
"customize"
mode、sections、content標準プロンプトの名前付きセクションを変更し、必要に応じて content追加します。 変更しないセクションは既定値を保持します。

代替コンテンツでは、使用可能な場合、{{copilot:memories}} により CLI のメモリ命令とコンテキストが挿入されます。

システムメッセージのセクション

customize モードでは、models[].systemMessage.sectionsはセクション名をオブジェクトにマップします。 各オブジェクトは、actionを指定し、必要に応じて、contentを指定します。 たとえば、models[].systemMessage.sections.tone はトーン セクションを変更します。

フィールドタイプ必須説明
models[].systemMessage.sections.<section-name>Objectいいえ以下に示すセクションまたはグループのいずれかに対する変更。
models[].systemMessage.sections.<section-name>.actionStringはい、各エントリごとに
"replace"、"remove"、"append"、"prepend"、または "preserve"。
models[].systemMessage.sections.<section-name>.contentStringいいえ
replace、append、またはprependで使用されるテキスト。 省略されたコンテンツは空として扱われます。
removeまたはpreserveには必要ありません。

使用可能な操作は次のとおりです。

アクション影響
"replace"セクションまたはグループを contentに置き換えます。
"remove"セクションまたはグループを削除します。 グループを削除しても、独自のエントリを持つセクションは sections内に残ります。
"append"セクションまたはグループの後に content を追加します。
contentに必要なスペースまたは改行を含めます。
"prepend"セクションまたはグループの前に content を追加します。 必要なスペースまたは改行も content に含めます。
"preserve"セクションは変更されず、グループによる削除から保護されます。 グループ置換からは保護されません。

transform アクションは、保存された JSON 構成ではなく、アプリケーション コールバックを必要とするため、providers.jsonではサポートされていません。

sectionsでは、次のセクションまたはグループ名をキーとして使用します。

Nameサブタイプ対象範囲
preambleセクションアシスタントの導入時の役割に関する指示。
toneセクショントーンと応答のスタイル。
tool_efficiencyセクション効率的なツールの使用に関するガイダンス。
environment_contextセクション作業環境に関する情報。
code_change_rulesセクションコードを変更するためのガイダンス。
guidelinesセクションエージェントの動作に関するその他のガイドライン。
safetyセクション安全に関するガイダンスと環境の制限。
custom_instructionsセクションカスタム指示を読み込みました。
runtime_instructionsセクションセッション用に組み立てられた追加の指示。
last_instructionsセクションプロンプトの最後に配置された指示。
identityGroupID、相互作用、トーン、委任、ツール効率、バージョン、モデル、タスクの指示。
environment_contextは含まれません。
tool_instructionsGroupツールの紹介とツールの使用手順。

個々のセクションの変更は、グループの変更前に適用されます。 グループ置換は、個別にカスタマイズしたセクションを含め、すべてのメンバー セクションを置き換えます。

システムメッセージのコンテンツブロック

replace モードでは、models[].systemMessage.contentBlocksはプレーンなcontent文字列の代わりに置換命令を提供します。 構成形式で必要なため、content はそのまま残してください。 すべてのブロックには content 文字列が必要です。

フィールドタイプ必須Default説明
models[].systemMessage.contentBlocks[].contentStringはいなしこのブロックのテキスト(配列の順序で)。
models[].systemMessage.contentBlocks[].isStaticブール値いいえ静的としてマークされていないプロンプト コンテンツの変更とは別にキャッシュできるコンテンツをマークします。
models[].systemMessage.contentBlocks[].cacheBreakpointブール値いいえ明示的なブレークポイントなし明示的なプロンプト キャッシュをサポートするプロバイダーに対して、このブロックの後にキャッシュ境界を要求します。 プロバイダーのキャッシュは保証されません。

モデルメタデータ

models[].metadata は、値として任意の有効な JSON 値を取れるオブジェクトです。 これは説明データであり、API 要求パラメーターや資格情報を指定する方法ではありません。 メタデータを手動で追加する必要はありません。

モデル検出では、次の文字列フィールドを保存できます。 既存の検出値はそのままにします。

フィールドタイプ説明
models[].metadata.adapterIdString
"ollama" などの検出インテグレーションを識別します。
models[].metadata.providerKindString
"ollama" などの、検出されたプロバイダーの種類。
models[].metadata.providerInstanceIdStringプロバイダー インスタンス ( "ollama:http://127.0.0.1:11434"など) を識別します。
models[].metadata.providerDigestStringプロバイダーによって提供されるモデル ダイジェスト (使用可能な場合)。

プロバイダー構成の例

この例では、既存の Ollama サーバーに接続し、モデルの機能とシステム命令がどのように入れ子になっているかを示します。 qwen3:8bがインストールされていることを前提としています。 トークンの制限は予算の例であり、モデルの最大容量を示すものではありません。 サーバーで構成されているコンテキストに合わせて調整してください。

JSON
{
  "providers": [
    {
      "name": "local",
      "type": "openai",
      "baseUrl": "http://127.0.0.1:11434/v1",
      "modelProvider": "ollama"
    }
  ],
  "models": [
    {
      "id": "qwen3:8b",
      "provider": "local",
      "name": "Qwen 3 8B",
      "maxPromptTokens": 6144,
      "maxContextWindowTokens": 8192,
      "maxOutputTokens": 2048,
      "capabilities": {
        "supports": {
          "vision": false,
          "toolCalls": true
        }
      },
      "systemMessage": {
        "mode": "customize",
        "sections": {
          "tone": {
            "action": "append",
            "content": "\nUse concise explanations."
          }
        }
      }
    }
  ]
}

CLI を再起動した後、copilot --model local/qwen3:8b または /model ピッカーを使用してこのモデルを選択してください。 いずれかの配列にオブジェクトを追加して、追加のプロバイダーとモデルを構成します。

agents/

個人用カスタム エージェント定義を .agent.md ファイルとしてここに格納します。 このディレクトリに配置されたエージェントは、すべてのセッションで使用できます。 個人エージェントとプロジェクト レベルのエージェントが同じ ID を持っている場合 (たとえば、両方の最上位ファイルに reviewer.agent.md名前が付けられている場合)、個人用エージェントが優先されます。 省略可能な name frontmatter フィールドは重複除去を制御しないため、同じ name で ID が異なるエージェントは両方とも読み込まれます。

詳細については、「GitHub Copilot CLI のカスタムエージェントの作成と使用」を参照してください。

skills/

個人のカスタム スキル定義をここに格納します。 各スキルは、 SKILL.md ファイル ( ~/.copilot/skills/my-skill/SKILL.md など) を含むサブディレクトリに存在します。 個人のスキルはすべてのセッションで利用できます。 Projectレベルのスキルは、同じ名前を共有する場合、個人のスキルよりも優先されます。

詳細については、「エージェント スキルの追加 GitHub Copilot CLI」を参照してください。

hooks/

ユーザー レベルのフック スクリプトをここに格納します。 これらのフックは、すべてのセッションに適用されます。 ~/.copilot/settings.json キーを使用して、ユーザー構成ファイル (hooks) でフックをインラインで定義することもできます。 リポジトリ レベルのフック ( .github/hooks/) は、ユーザー レベルのフックと共に読み込まれます。

詳細については、「GitHub Copilot CLI でフックを使用する」を参照してください。

extensions/

ユーザー レベルの拡張ファイルをここに格納します。 このディレクトリ内の拡張機能は、セッション間で使用できます。

このディレクトリにファイルを手動で作成するか、拡張機能をスキャフォールディングしてから、生成されたファイルを編集できます。

ファイルを自動的に管理する

次の項目は CLI によって管理されます。 通常、手動で編集しないでください。

config.json

認証データ、インストールされているプラグイン メタデータ、その他のランタイム情報など、CLI によって自動的に管理される内部アプリケーションの状態を格納します。 通常、このファイルを編集する必要はありません。

メモ

以前のバージョンの Copilot CLI では、ユーザー設定とアプリケーションの状態の両方が config.jsonに格納されています。 ユーザーが編集可能な設定が settings.jsonに配置されるようになりました。 config.jsonに残されている設定は無視されます。 このファイルは、インストールされているプラグインや信頼されたフォルダーなどの内部状態のみを保持します。

permissions-config.json

保存したツールとディレクトリのアクセス許可の決定をプロジェクトの場所別に格納します。 ツールを承認するか、現在の場所のディレクトリへのアクセスを許可すると、CLI によって決定がここに記録されるため、同じリポジトリまたはディレクトリに再度プロンプトが表示されることはありません。

メモ

プロジェクトのアクセス許可をリセットする場合は、このファイルから関連するエントリを削除できます。 ただし、セッションの実行中にファイルを編集すると、予期しない動作が発生する可能性があります。 CLI は、場所パスがディスク上に存在しなくなったエントリを自動的に削除します。

ファイルの場所

Copilot CLI は、構成ディレクトリからファイルを解決します。

優先度Source使用されるファイル
1--config-dir=DIRECTORYDIRECTORY/permissions-config.json
2COPILOT_HOME$COPILOT_HOME/permissions-config.json
3Default~/.copilot/permissions-config.json

CLI では、この順序で最初に適用できる構成ディレクトリのみが使用されます。 優先順位の低い場所から permissions-config.json も読み込まれません。

--config-dir オプションは従来のオプションです。 構成ディレクトリを変更する必要がある場合は、 COPILOT_HOME を優先します。

Windowsでは、既定のファイルは通常次のようになります。

C:\Users\YOUR-USER\.copilot\permissions-config.json

以前のビルドでは、 permissions-configという名前の拡張子のないファイルが使用されています。 permissions-config.jsonが存在しないが、拡張子のないファイルが存在する場合、CLI はレガシ ファイルを引き続き受け入れられます。 新しい編集には permissions-config.json を使用します。

以前の XDG ベースの構成場所は、~/.copilotが設定されていない場合、起動時にCOPILOT_HOMEに移行されます。

位置キー

最上位レベルの locations オブジェクトは、絶対パスによってキーが設定されます。

  • Git リポジトリの場合は、アクセス許可のスコープに使用される Git ルートを使用します。
  • リンクされたワークツリーはメイン リポジトリのルートを参照するため、メインワークツリーと権限を共有します。
  • サブモジュールは、独自の作業ディレクトリを使用します。
  • Git リポジトリにないディレクトリの場合は、正規化された現在の作業ディレクトリを使用します。

キーは、 Copilot CLI が実行されている場所と一致する必要があります。 キーが一致しない場合、保存された承認は適用されません。

CLI は、セッションの開始時とアクティブな作業ディレクトリの変更時に、一致する場所の承認を読み込みます。

Schema

ファイルには JSON オブジェクトが含まれている必要があります。

フィールドタイプ必須Default使用できる値説明
locationsObjectいいえ{}絶対パス キー保存済みの承認に対する場所キーのマップ。
locations.<key>Objectいいえ{}任意の絶対位置キー1 つのリポジトリまたはディレクトリの承認を保存しました。
locations.<key>.tool_approvalsArrayいいえ[]承認オブジェクトこの場所に対して承認されたツール。
locations.<key>.allowed_directories文字列の配列いいえ[]絶対ディレクトリ パスパス ゲートがこの場所にアクセスできる追加のディレクトリ。 CLI が構成を適用する場合は、各ディレクトリが存在する必要があります。
locations.<key>.tool_approvals[].kindStringはいなし
commands、 read、 write、 mcp、 mcp-sampling、 memory、 custom-tool、 extension-management、 extension-permission-access承認の種類を選択します。
commandIdentifiers文字列の配列はい、commands に対してですなしコマンド識別子承認するシェル コマンドの識別子。
serverNameStringはい。 mcp と mcp-samplingなしMCP サーバー名承認対象のMCPサーバー。
toolName文字列または nullはい、mcp に対してですなしMCP ツール名、または null承認用のMCPツール。
nullを使用して、サーバー上のすべてのツールを承認します。
toolNameStringはい、custom-tool に対してですなしカスタム ツール名正確な名前で承認するカスタム ツール。
operationStringいいえ、extension-managementについては省略拡張機能の操作名承認が必要な拡張機能の管理操作。 すべての拡張機能管理操作を承認するには、このフィールドを省略します。
extensionNameStringはい、extension-permission-access に対してですなし拡張機能の名前アクセス許可が制限された機能へのアクセスが承認されている拡張機能。

permissions-config.json では、拒否ルール、"ask" ルール、既定のモード、URL ルール、ツール のフィルター処理、またはリポジトリローカル共有ポリシーはサポートされていません。 これらの動作では、 --deny-tool、 --available-tools、 --excluded-tools、 --allow-url、 --deny-urlなどのコマンド ライン オプションを使用します。 保存された URL ルールは、settings.jsonではなく、permissions-config.jsonに格納されます。

不明なフィールドはスキーマの一部ではありません。 CLI では無視され、後で書き込みによって削除される場合があります。

承認の種類

tool_approvalsの各項目は、次のいずれかのオブジェクトである必要があります。

kind必須フィールドオプションフィールド意味
commandscommandIdentifiersなし一致するシェル コマンド識別子を承認します。
readなしなし読み取りツールへのリクエストを承認します。 対話型 CLI セッションでは既に読み取りが自動的に承認されているため、通常は不要です。
writeなしなしファイルの作成と変更ツールの要求を承認します。 パス プロンプトは、許可されたディレクトリの外部のパスに対して引き続き適用できます。
mcp
serverName、toolNameなし
toolNameがnullされたときに、1 つの MCP ツールまたはサーバー上のすべてのツールを承認します。
mcp-samplingserverNameなし1 台のサーバーに対する MCP サンプリング要求を承認します。
memoryなしなしメモリの書き込みと投票の要求を承認します。
custom-tooltoolNameなし正確な名前でカスタム ツールを承認します。
extension-managementなしoperation拡張機能の管理を承認します。
operationを省略すると、すべての拡張機能管理操作が一致します。
extension-permission-accessextensionNameなしアクセス許可が制限された機能への拡張機能のアクセスを承認します。

MCP 承認の場合、 serverName は構成された MCP サーバー名と正確に一致する必要があります。 サニタイズされたツール名プレフィックスではなく、MCP 構成の生サーバー名を使用します。

シェルコマンドの照合

permissions-config.json では、正規表現や一般的な glob パターンはサポートされていません。 文字列値は文字どおりに一致します。ただし、シェル :* 値内の末尾の commandIdentifiers は、:* より前のテキスト(そのテキスト単独の場合と、その後にスペースと追加のテキストが続く場合の両方)に一致します。 プレーンな * には特別な意味がないため、 git* は git statusと一致しません。

Pattern一致一致しない
git statusgit statusgit status --short
git:*
git、git status、git pushgitea
gh pr:*
gh pr、gh pr view、gh pr creategh repo view

ディレクトリ マッチング

allowed_directories エントリを使用すると、 Copilot CLI は個別のパス プロンプトなしで、これらのディレクトリ内のパスにアクセスできます。 ツール操作自体は承認されません。 たとえば、許可されたディレクトリ内のファイルを編集するには、引き続き write の承認が必要な場合があります。

各 allowed_directories エントリは、絶対、空でない、アクセス可能なディレクトリである必要があります。 CLI は、パスを比較する前にシンボリック リンクを解決し、UNC ネットワーク パスは拡張長ローカル パスでない限り許可せず、Windows では大文字と小文字を区別せずにパスを比較し、その他のプラットフォームでは大文字と小文字を区別してパスを比較します。 エントリを適用できない場合、CLI は警告をログに記録し、そのエントリをスキップします。

Examples

すべての Git サブコマンドを許可し、追加のローカル ディレクトリにアクセスします。

JSON
{
  "locations": {
    "C:\\src\\my-repo": {
      "tool_approvals": [
        {
          "kind": "commands",
          "commandIdentifiers": ["git:*"]
        }
      ],
      "allowed_directories": ["C:\\src\\shared-docs"]
    }
  }
}

ファイルの書き込み前に確認しながら、選択したコマンドを許可します。

JSON
{
  "locations": {
    "/Users/YOUR-USER/src/my-repo": {
      "tool_approvals": [
        {
          "kind": "commands",
          "commandIdentifiers": [
            "git status",
            "git diff",
            "git log",
            "npm test",
            "npm run build"
          ]
        }
      ]
    }
  }
}

リポジトリのファイル書き込みと 1 つの MCP サーバーを承認します。

JSON
{
  "locations": {
    "/home/YOUR-USER/src/my-repo": {
      "tool_approvals": [
        {
          "kind": "write"
        },
        {
          "kind": "mcp",
          "serverName": "github-mcp-server",
          "toolName": null
        }
      ]
    }
  }
}

1つのMCPツール、メモリへの書き込み、拡張機能の権限へのアクセスを承認する:

JSON
{
  "locations": {
    "C:\\src\\my-repo": {
      "tool_approvals": [
        {
          "kind": "mcp",
          "serverName": "github-mcp-server",
          "toolName": "search_code"
        },
        {
          "kind": "memory"
        },
        {
          "kind": "extension-permission-access",
          "extensionName": "my-extension"
        }
      ]
    }
  }
}

session-state/

サブディレクトリ内のセッション ID 別に整理されたセッション履歴データが含まれています。 各セッション ディレクトリには、イベント ログ (events.jsonl) とワークスペース成果物 (プラン、チェックポイント、追跡されたファイル) が格納されます。 このデータにより、セッションの再開 (--resume または --continue) が有効になります。

このディレクトリからファイルを削除すると、ローカル コピーのみが削除されます。 GitHub アカウントにセッションを同期した場合、同期されたデータは個別に保存され、ローカル ファイルの削除の影響を受けません。 同期されたセッションは、 GitHub.comから削除したり非表示にしたりできます。 詳細については、「GitHub Copilot のセッション データについて」を参照してください。

command-history-state/

対話型インターフェイスの逆引き検索 (Ctrl+R) と履歴ナビゲーションに使用されるコマンド履歴データが含まれています。 このディレクトリは自動的に管理されるため、編集しないでください。

session-store.db

チェックポイントのインデックス作成や検索などのセッション間データに CLI によって使用される SQLite データベース。 このファイルは自動的に管理され、編集しないでください。

このファイルを削除した場合は、 /chronicle reindex コマンドを使用してリビルドできます。 インデックスを再作成すると、セッション データもアカウントに同期されます。

logs/

CLI セッションのログ ファイルが含まれています。 各セッションでは、 process-{timestamp}-{pid}.logという名前のログ ファイルが作成されます。 これらのファイルは、問題のデバッグに役立ちます。

CLI では、 logs/extensions/の下に拡張機能固有のログを作成することもできます。

これは、ユーザーが作成した拡張機能コードを格納する ~/.copilot/extensions/とは別です。

ヒント

現在のセッションのログ ファイルを検索するには、対話型セッションに「 /session 」と入力します。 出力には、ログ ファイルへの完全なパスと、セッション ID、期間、作業ディレクトリなどの他のセッションの詳細が含まれます。

installed-plugins/

インストールしたプラグインのファイルが含まれています。 マーケットプレースからインストールされたプラグインは、 installed-plugins/{marketplace-name}/{plugin-name}/の下に格納されます。 直接インストールされたプラグインは、 installed-plugins/_direct/の下に格納されます。 このディレクトリを直接編集するのではなく、 copilot plugin コマンドを使用してプラグインを管理します。

詳細については、「GitHub Copilot CLI プラグイン リファレンス」を参照してください。

plugin-data/

マーケットプレースとプラグイン名別に整理された、インストールされているプラグインの永続的なデータが含まれています。 このデータはプラグイン自体によって管理されるため、手動で編集することはできません。

ide/

IDE 統合のロック ファイルと状態が含まれます (たとえば、 Copilot CLI が Visual Studio Code に接続する場合)。 このディレクトリは自動的に管理されます。

mcp-oauth-config/

キーチェーンベースのストレージが使用できない場合の MCP OAuth トークン、登録、PKCE フォールバック ファイルが含まれます。 このディレクトリは自動的に管理されます。

mcp-secrets/

キーチェーンベースのストレージが使用できない場合のフォールバック ファイル ストレージと MCP シークレット プレースホルダーのインデックスが含まれます。 このディレクトリは自動的に管理されます。

構成ディレクトリの場所の変更

既定の ~/.copilot 場所をオーバーライドするには、 COPILOT_HOME 環境変数を使用するディレクトリのパスに設定します。

Bash
export COPILOT_HOME=/path/to/my/copilot-config

注意すべき事項

  • COPILOT_HOME は、 ~/.copilot パス全体を置き換えます。 設定する値は、構成ファイルとサブディレクトリに使用するディレクトリへの完全なパスである必要があります。

  • ディレクトリを変更すると、既存の構成、セッション履歴、インストールされているプラグイン、保存されたアクセス許可が新しい場所に見つかりません。 ~/.copilotの内容を保存する場合は、新しい場所にコピーまたは移動します。

  • キャッシュ ディレクトリ (Marketplace キャッシュ、自動更新パッケージ、およびその他のエフェメラル データに使用) はプラットフォームの規則に従い、COPILOT_HOMEの影響を受けません。 これは次の場所にあります。

    • macOS: ~/Library/Caches/copilot
    • Linux: $XDG_CACHE_HOME/copilot または ~/.cache/copilot
    • Windows:%LOCALAPPDATA%/copilot

    キャッシュ ディレクトリを個別にオーバーライドするには、 COPILOT_CACHE_HOME設定します。

安全に削除できる内容

品目安全に削除できますか?影響
agents/、skills/、hooks/お勧めしません個人のカスタマイズは失われます。 最初にバックアップします。
config.json慎重に認証を含むアプリケーションの状態をリセットします。 再認証が必要になり、CLI は次回の起動時に内部状態を再検出します。
copilot-instructions.md、instructions/お勧めしません個人のカスタム命令は失われます。 最初にバックアップします。
extensions/お勧めしません個人の拡張機能は失われます。 最初にバックアップします。
installed-plugins/お勧めしません代わりに copilot plugin uninstall を使用して、 config.json のプラグイン メタデータが正確なままになるようにします。
logs/はいログ ファイルは、セッションごとに再作成されます。 削除しても機能に影響はありません。
lsp-config.jsonお勧めしませんユーザー レベルの LSP サーバー定義が失われます。 最初にバックアップします。
mcp-config.jsonお勧めしませんユーザー レベルの MCP サーバー定義が失われます。 最初にバックアップします。
mcp-oauth-config/慎重にローカル MCP OAuth フォールバック状態をクリアします。 MCP サーバーの再認証が必要になる場合があります。
mcp-secrets/慎重にローカル MCP シークレットのフォールバック状態とマッピングをクリアします。 シークレットベースの MCP サーバーの再構成が必要な場合があります。
permissions-config.json慎重に保存されているすべてのアクセス許可をリセットします。 CLI によって、ツールとディレクトリの承認が再度求められます。
plugin-data/はいプラグインの永続データは、必要に応じて再作成されます。
providers.jsonお勧めしませんBYOK プロバイダーとモデルの構成が失われます。 最初にバックアップします。
session-state/慎重に削除すると、セッション履歴が削除されます。 過去のセッションを再開できなくなります。
command-history-state/慎重に削除すると、コマンド履歴が削除されます。
Ctrl+R を使用して前のコマンドを検索できなくなります。
session-store.db慎重に削除すると、セッション間のデータが削除されます。 ファイルは自動的に再作成されます。
settings.json慎重にすべてのユーザー設定を既定値にリセットします。 設定を再構成する必要があります。

構成ファイルの設定

設定は次の順序で適用されます (後でオーバーライドします)。

  1. 組み込みの既定値
  2. モバイルデバイス管理(MDM)の管理対象設定
  3. ユーザー設定 (~/.copilot/settings.json)
  4. リポジトリの設定 (.github/copilot/settings.json)
  5. ローカル設定 (.github/copilot/settings.local.json)
  6. 環境変数
  7. コマンド ライン フラグ

MDM マネージド設定は起動時に読み込まれ、ポリシー ベースラインとしてユーザー設定とマージされます。 ほとんどのキーでは、ユーザー設定がそのベースラインをオーバーライドできます。 permissions.disableBypassPermissionsMode の場合、"disable" の MDM 値が常に優先されます。 マネージド sandbox 設定も例外です。 オーバーライドできるのではなく、各管理対象の sandbox 値は、緩和できない下限を設定します。 独自の設定の方が許容度が高い場合は、マネージド値が優先されます。 sandbox.failIfUnavailable設定は、管理者のみが設定できます。 詳細については、「 MDM の管理設定」を参照してください。

ScopeLocation目的
ユーザー~/.copilot/settings.jsonすべてのリポジトリのグローバルな既定値。
COPILOT_HOME環境変数を使用して、代替パスを指定します。
リポジトリ.github/copilot/settings.json共有リポジトリの構成 (リポジトリにコミット)。
Local.github/copilot/settings.local.json個人のオーバーライド (これを .gitignoreに追加します)。

CLI では、リポジトリ設定の共有クロスツール サブセット (.claude/settings.json、.claude/settings.local.json、companyAnnouncements、disableAllHooks、enabledPluginsなど) のextraKnownMarketplacesとhooksも読み取ります。

リポジトリの既定値は任意です。enabledPlugins エントリをリポジトリローカル設定で false に設定して、リポジトリの既定値をオーバーライドします。 マネージドの必須またはブロックされたプラグイン エントリが常に優先されます。 「GitHub Copilot CLI のプラグインの検索とインストール」を参照してください。

ユーザー設定 (~/.copilot/settings.json)

これらの設定は、すべてのセッションとリポジトリに適用されます。 /settingsスラッシュ コマンドを使用して対話型ダイアログを実行したり、特定のスラッシュ コマンドを使用して個々の値を更新したり、このファイルを直接編集したりできます。

鍵タイプDefault説明
allowedUrlsstring[][]URL またはドメインは、プロンプトなしで許可されます。 正確な URL、ドメイン パターン、ワイルドカード サブドメイン ( "*.github.com" など) をサポートします。
askUserbooleantrueエージェントが明確な質問をすることを許可します。 完全に自律的な操作を行うために false に設定します。
--no-ask-userで設定することもできます。
autoTier
"efficiency"
|
"balance"
|
"intelligence"
設定解除する選択したモデルが autoされている場合の新しい会話の既定の自動ルーティング層。
/modelスラッシュ コマンドを参照してください。
"fast" は選択できなくなり、警告が設定されている場合は "balance" にフォールバックします。
autoUpdatebooleantrueCLI の更新プログラムを自動的にダウンロードし、各セッションの開始時にファースト パーティプラグインを更新します。
autoUpdatesChannel
"stable"
|
"prerelease"
"stable"チャネルを更新します。 プレリリース更新プログラムを受け取る "prerelease" に設定します。
banner
"always"
|
"once"
|
"never"
"once"アニメーションバナーの表示頻度。
bashEnvbooleanfalsebash シェル BASH_ENV サポートを有効にします。
--bash-envまたは--no-bash-envで設定することもできます。
beepbooleantrue注意が必要な場合は、聞こえるビープ音を鳴らします。
beepOnSchedulebooleantrueスケジュールされた /every または /after の実行が完了したときに、聞こえるビープ音を再生します。
colorMode
"default"
|
"github"
|
"dim"
|
"high-contrast"
|
"colorblind"
"github"
themeの非推奨のエイリアス。
themeを優先します。
commandHistoryMaxSizenumber50入力履歴と逆引き検索用に保持される最近のコマンドの最大数。
1と1000の間の整数である必要があります。
compactPastebooleantrue大きな貼り付け (10 行を超える) をコンパクト トークンに折りたたみます。
companyAnnouncementsstring[][]起動時にランダムに表示されるカスタム メッセージ。 CLI が開始されるたびに 1 つのメッセージがランダムに選択されます。 チームのお知らせやリマインダーに便利です。
connectorsbooleantrue使用可能な場合は、 Copilot コネクタを有効にします。 無効にするには、 false に設定します。
continueOnAutoModebooleanfalseレートが制限されている場合は、自動モードに自動的に切り替わります。
trueすると、対象となるレート制限エラーによって自動モードへの自動切り替えがトリガーされ、再試行されます。 グローバル レート制限または BYOK プロバイダーには適用されません。
copyOnSelectboolean
true (macOS)、 false (その他)マウスで選択したテキストをシステム クリップボードに自動的にコピーします。
customAgents.defaultLocalOnlybooleanfalseローカル カスタム エージェントのみを使用します (リモート組織またはエンタープライズ エージェントは使用しません)。
defaultMode
"interactive"
|
"plan"
|
"autopilot"
"interactive"新しい対話型セッションの開始時に使われるエージェント モード
--mode、--autopilot、および--planのオプションが優先されます。 再開されたセッションは独自のモードを維持し、-p/--prompt、--server、および --acp の実行時にはこの設定は無視されます。
defaultPermissionMode
"manual"
|
"assisted"
|
"allow-all"
場合により異なる新しい対話型セッションの優先するアクセス許可モード。
permissions.defaultMode の管理対象設定がこの設定よりも優先されます。 どちらの既定値も設定されていない場合、セッションは手動モードまたは支援モードで開始できます。
"manual"を設定して、まだ許可されていない要求のたびに確認するか、"assisted"を使用して対象となる要求をモデル レビューにかけるか、または--allow-allを"allow-all"と同等の広範なアクセス許可を付与するように設定します。 拒否規則とエンタープライズ制限は引き続き適用されます。 「手動承認なしで安全なコマンドを実行できるようにする」を参照してください。 再開されたセッションは、独自のモードを維持します。 この設定は非対話型の実行には適用されず、 --allow-all または --yolo が優先されます。 アシスト付きスタートアップの既定設定は、リモート セッションには適用されません。 構成済みのモードが使用できないか、エンタープライズ ポリシーによってブロックされている場合、CLI は手動承認から始まり、その理由を通知します。
"assisted"または"allow-all"をdefaultMode: "autopilot"と対にして、構成されたアクセス許可モードを適用できる場合は、自動パイロットのアクセス許可の確認をスキップします。
deniedUrlsstring[][]常に拒否される URL またはドメイン。 拒否規則は、許可規則よりも優先されます。
disableAllHooksbooleanfalseすべてのフック (リポジトリ レベルとユーザー レベルの両方) を無効にします。
disabledMcpServersstring[][]無効にする MCP サーバー名。 一覧表示されたサーバーは構成されていますが、起動されていません。
disabledSkillsstring[][]無効にするスキル名。 一覧表示されたスキルは検出されますが、読み込まれません。
dynamicRetrieval{ skills?: boolean }設定解除する埋め込みベースの動的命令取得のカテゴリごとの制御。
skillsをfalseに設定して、スキルの取得を無効にします。
editorMode
"normal"
|
"vim"
"normal"入力コンポーザー編集モード。
/vimスラッシュコマンドの切り替えで設定します。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
effortLevelstring"medium"拡張思考の推論作業レベル: "low"、 "medium"、 "high"、または "xhigh"。 レベルが高いほど、より多くのコンピューティングが使用されます。
enabledMcpServersstring[][]既定で無効になっている組み込みの MCP サーバーを有効にします。
enabledPluginsRecord<string, boolean>{}宣言型プラグインの自動インストール。 キーはプラグインの仕様です。値は true (有効) または false (無効) です。
experimentalbooleanfalse試験的な機能を有効にします。
--experimentalコマンド ライン オプションまたは /experimental スラッシュ コマンドを使用して有効にすることもできます。
extraKnownMarketplacesRecord<string, {...}>{}追加のプラグイン マーケットプレース。 各キーはマーケットプレース名です。この値は、必要な source ("directory"、 "git"、または "github") を指定します。 エントリに autoUpdate: true を設定して、マーケットプレースにインストールされているプラグインをファースト パーティのプラグインと同じセッション開始自動更新にオプトインします。 このオプトインは、対話型セッションと -p セッションにのみ適用されます。SDK セッションとサーバー セッションは自動更新されません。 オプトインは、独自のユーザー設定または管理対象 (MDM/サーバー) 設定で設定されている場合に適用されます。 同じ名前の競合では、組み込みのファースト パーティ マーケットプレースが優先され、マネージド エントリ (同じ名前のユーザー エントリ全体が置き換えられるため、 "autoUpdate": true のないマネージド エントリによってユーザーのオプトインが削除されます)、その後、ユーザー自身のエントリが削除されます。
footerobject—ステータス行に表示する項目を制御します。 サブキーには、 showModelEffort、 showDirectory、 showBranch、 showContextWindow、 showQuota、 showAgent、 showAiUsed、 showCodeChanges、 showUsername、 showSandbox、 showYolo、 showCustom (すべて boolean) が含まれます。
/statuslineスラッシュ コマンドによって管理されます。
hooksobject—イベント名でキー指定されたインライン ユーザー レベルのフック定義。
.github/hooks/*.json ファイルと同じスキーマを使用します。 「GitHub Copilot CLI でフックを使用する」を参照してください。
ide.autoConnectbooleantrue起動時に IDE ワークスペースに自動的に接続します。
falseしても、/ide コマンドを使用して手動で接続できます。
ide.openDiffOnEditbooleantrue接続されている IDE でファイルの編集差分を開いてレビュー/承認します。
falseすると、ファイル編集の承認はターミナルにのみ表示されます。
ignoredSkillsLocationsstring[][]通常であればどの場所で検出される場合でも、検出対象から除外されるスキルディレクトリ(およびその配下のディレクトリ)。
~に対する相対パスをサポートします。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
includeCoAuthoredBybooleantrueエージェントによって行われた git コミットに Co-authored-by トレーラーを追加します。
inlineImagesbooleantrueキティ グラフィックス プロトコルを使用してイメージをインラインでレンダリングします。 サポートされているターミナル (Ghostty、kitty、または WezTerm) が必要です。 無効にすると、画像添付ファイルにテキスト プレースホルダーが表示されます。
keepAlive
"on"
|
"off"
|
"busy"
"off"CLI の起動時に適用されるキープアライブ モード。
"on" は常にシステムのスリープを防ぎ、 "busy" はエージェントの実行中にのみスリープ状態を防ぎ、 "off" はキープアライブを無効にします。
/keep-aliveスラッシュ コマンドを使用して構成することもできます。
logLevel
"none"
|
"error"
|
"warning"
|
"info"
|
"debug"
|
"all"
|
"default"
"default"ログの冗長度。
mergeStrategy
"rebase"
|
"merge"
—
/pr fix conflictsの競合解決戦略。
"rebase"に設定すると、ベース ブランチにリベースすることで競合が解決されます。
"merge"に設定すると、ベース ブランチがフィーチャ ブランチにマージされます。 構成されていない場合は、ピッカー ダイアログが表示されます。
modelstring変化する使用する AI モデル。
"auto"に設定すると、使用可能な最適なモデルCopilot自動的に選択できるようになります。
/modelスラッシュ コマンドによって管理されます。
mousebooleantrueマウスのサポートを有効にします。
--mouseまたは--no-mouseで設定することもできます。
permissions.disableBypassPermissionsModestring—すべての許可オプション (--allow-all-paths、--allow-all-urls、--allow-all、--yolo、"disable") をブロックするには、--allow-all-toolsに設定します。 この設定では、個別に制御されるassisted permissionsはブロックされません。 その他の値は "disable" のエイリアスとして扱われ、警告がログに書き込まれます。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
pinnedPromptsbooleantrueタイムラインをスクロールしながら、現在のセクションのユーザー プロンプトを上部のバーのすぐ下にピン留めして、表示される出力がどの要求に属するかを明確に保つ。 CLI UI のみ - モデルに送信されたプロンプトには影響しません。
powershellFlagsstring[]["-NoProfile", "-NoLogo"]起動時に PowerShell に渡されるフラグ。 Windowsでは、CLI は PowerShell 7 以降 (pwsh) を優先し、powershell.exe が使用できない場合は、Windows PowerShell (pwsh) にフォールバックします。 Windows のみ。
proxyKerberosServicePrincipalstring設定解除するKerberos/Negotiate プロキシ認証用のサービス プリンシパル名 (SPN)。派生された HTTP/<proxy-host> を上書きします。
proxyUrlstring設定解除するHTTP(S) 要求のプロキシ URL (たとえば、 http://proxy.corp.example:3128)。
HTTP_PROXY または HTTPS_PROXY という環境変数 (大文字と小文字を問わない) によって上書きされます。
remoteSessionsbooleanfalseリモート コントロールが使用可能な場合は、対話型セッションに対して既定でリモート コントロールを有効にします。
/remote onまたは/remote offを使用して、現在のセッションのリモート制御を変更します。 これは、セッション同期の remoteExport 設定とは別です。
renderHexColorsbooleantrueインライン コード ( `#FF0000` など) として記述された 6 桁の 16 進数のカラー コードをカラー 見本として表示します。
renderMarkdownbooleantrueターミナル出力で Markdown をレンダリングします。
remoteExportbooleantrueセッション同期が利用可能な場合、セッション履歴をアカウントに同期します。
false に設定すると、既定でオプトアウトになります。
remoteSessions: trueでリモート コントロールを有効にすると、この設定に関係なくエクスポートも有効になります。 同期履歴自体では、リモート 制御は有効になりません。
--sync-session=onまたは--sync-session=offを使用して、特定の実行に対する履歴同期をオーバーライドします。
respectGitignorebooleantrue
@ ファイルメンション ピッカーから gitignored ファイルを除外します。
falseすると、ピッカーには通常、.gitignoreによって除外されるファイルが含まれます。
sandbox.allowBypassbooleantrueサンドボックス化されたコマンドが特定の操作のバイパスを要求できるようにする (アクセス許可プロンプトが表示されます)。そのため、 grep や glob などのツールは、サンドボックスでブロックされる場合に動作し続けます。 また、有効なポリシーでバイパスが許可されている場合は、現在のセッションの残りの部分のサンドボックスを無効にすることもできます。 オプトアウトするには、 false に設定します。
sandbox.enabledbooleanfalseシェル コマンド、MCP/LSP サーバー、および組み込みのファイル/Web ツールを、ファイル システムとネットワーク アクセスが制限されたサンドボックス環境に制限します。
/sandboxダイアログまたは/sandbox enableで有効にします。
sandbox.auth.gitbooleantrueサンドボックス内で実行されているコマンドが Git で認証できるように、Git 資格情報をサンドボックスに挿入します。 オプトアウトするには、 false に設定します。 sandbox.gitAuthから名前が変更されました。古いキーは移行を行わず、引き続き表示される場所では無視されます。
sandbox.auth.ghbooleantrue
GitHub CLI (gh) 資格情報をサンドボックスに挿入して、その中で実行されているコマンドがGitHub CLIで認証できるようにします。 オプトアウトするには、 false に設定します。 sandbox.ghAuthから名前が変更されました。古いキーは移行を行わず、引き続き表示される場所では無視されます。
sandbox.credentialsobject設定解除するサンドボックス プロセスで選択した環境変数をマスクします。 各エントリの空でないenvVars配列を持つ、変数名でキー指定されたinjectHostsオブジェクトを格納します。 プロセスはプレースホルダーを受け取り、ローカル プロキシはそれらのホストへの HTTPS 要求ヘッダー内でのみ実際の値を提供します。 シークレット値ではなく、変数名とホスト規則を格納します。 サンドボックスを有効にする必要があります。 [ /sandbox ] ダイアログの [ 資格情報 ] タブの [ マスクされた環境変数 ] から設定します。 「ローカル サンドボックス設定の構成」を参照してください。
sandbox.userPolicy.network.allowLocalNetworkbooleanfalseローカル開発サーバーへの接続など、ローカル ネットワーク アクセスを制御します。 サンドボックス コマンドへの影響は、オペレーティング システムによって異なります。 サポートされているWindows ホストで、この設定を有効にすると、ホストの localhost への接続も許可されます。 以前のWindowsバージョンでは、この設定を有効にしても localhost をブロックしたままにします。 Windows のプロキシ処理とホスト ルールでは、これがtrueである必要があります。
sandbox.userPolicy.network.proxyobject設定解除するHTTP (S) プロキシを介してサンドボックス化されたネットワーク トラフィックをルーティングします。 フィールド: url (必須)、 username (省略可能)、 password (省略可能)。 URL に資格情報を含めてはなりません。 パスワード フィールドをマスクする /sandbox ダイアログの [ ネットワーク ] タブで資格情報を構成します。 リテラル パスワードは、使用可能な場合は OS 資格情報ストアを使用し、ローカル ファイルフォールバックを使用します。
settings.json はシークレット リファレンスを保持します。 代わりに、パスワードにはフィールド全体の${VAR}または$VAR環境変数参照を使用できます。 プロキシの適用は、次に示すようにプラットフォームによって異なります。
sandbox.userPolicy.network.allowedHostsstring[][]サンドボックス化されたコマンドからのアクセスが許可されているホスト。 エントリは正確なホスト名、IP アドレス、またはサブドメイン用の *.example.com ですが、ルート ドメインではありません (* はすべてのホストに一致します)。 CIDR ブロックはサポートされていません。 URL またはポートは含めないでください。 空でないリストは、送信ネットワーク アクセスとローカル ネットワーク アクセスの両方が有効になっている場合に、 localhost、 127.0.0.1、および ::1 を除き、一致しないホストをブロックします。 これらの自動エントリでは、保存したリストは変更されません。 明示的な拒否規則とエンタープライズ許可リストは引き続き適用されます。
/sandbox ダイアログの [ネットワーク] タブの [ホストルール] から構成します。
sandbox.userPolicy.network.blockedHostsstring[][]
allowedHosts と同じ方法で照合され、サンドボックス化されたコマンドの到達をホストが拒否しました。
blockedHosts は常に一致する allowedHosts エントリよりも優先され、ドメインを拒否するとサブドメインも拒否されます。
/sandbox ダイアログの [ネットワーク] タブの [ホストルール] から構成します。
sandbox.userPolicy.filesystem.deniedPathsstring[][]セキュリティで保護されたコマンドのアクセスが拒否されるパス。 Windows には、アクセスが拒否されたパスをサポートするバージョンが必要です。 ホストがそれらを強制できない場合、コマンドは弱い制限で実行されるのではなく失敗します。 アクセス拒否対象のパスとその親が見つからない場合、起動前にディレクトリとして作成され、.env などの名前であっても自動的に削除されません。 準備エラーのため起動できません。 読み取り専用の /sandbox policy プレビューでは何も作成されません。Linux では、不足している拒否パスは省略されます。
sandbox.userPolicy.seatbelt.keychainAccessbooleanfalsemacOS のみ。 セキュリティで保護されたコマンドにシステム キーチェーンへのアクセス権を付与します。
/sandboxでのみ構成でき、/settingsまたはsettings.json経由では構成できません。
screenReaderbooleanfalseスクリーン リーダーの最適化を有効にします。
scrollbarbooleantrueスクロール可能なビューでスクロール バーを表示します。
falseに設定して非表示にし、完全な端子幅を使用します。
shellShortcutbooleantrueプロンプトで 1 つ $ し、 Enter キーを押して、セッションの作業ディレクトリをルートとする対話型シェルを開きます (実際の TTY でローカルで信頼されたアイドル 状態のセッションに対してのみアクティブ化されます)。 ユーザー スコープまたは管理対象スコープのみで、リポジトリによるオーバーライドはできません。
showReasoningbooleanなしタイムラインにモデルの推論を表示します。 これは、 /config または /settingsで設定することも、 Ctrl+T キーで切り替えることもできます。 設定はセッションをまたいで保存されます。
showTimestampsbooleantrueタイムラインのユーザー メッセージの横に、dim HH:mm タイムスタンプを表示します。
showTipsOnStartupbooleantrueCLI の起動時にランダムなコマンド ヒントを表示します。
sidebarbooleantrue現在のセッション サイドバーを有効にします。
false に設定すると、完全に無効になり、コンポーザーのヒントと ← で開くジェスチャーが非表示になります。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
skillDirectoriesstring[][]カスタム スキル定義を検索する追加のディレクトリ ( ~/.copilot/skills/に加えて)。
statusLineobject—カスタムのステータスラインの表示。
type: "command"でなければなりません。
command: stdin でセッション JSON を受け取り、状態コンテンツを stdout に出力する実行可能スクリプトへのパス。
padding: 省略可能な左埋めスペースの数。
refreshInterval: イベントに対してのみではなく、タイマーでコマンドを再実行する秒数 (1~ 2147483) (省略可能)。セッション状態が変化した場合にのみ更新するには省略します。 コマンドが生成に失敗した場合、0 以外の状態を終了した場合、または stdin で状態 JSON を受信できない場合、CLI は継続的なエラー エピソードごとに 1 回警告をログに記録し、状態行は警告なしで失敗するのではなく空白のままにします。
--log-level allで実行して、基になるエラーの詳細を確認します。
stayInAutopilotbooleantrue各タスクが完了した後も、オートパイロット モードのままです。 有効にすると、タスクの完了後に入力する次のプロンプトもオートパイロット モードで処理されます。 詳細については、「GitHub Copilot CLI での Autopilot モードの使用」を参照してください。
storeTokenPlaintextbooleanfalseシステム キーチェーンが使用できない場合に、認証トークンをプレーン テキストで config.json に格納できるようにします。
streambooleantrueストリーミング応答を有効にします。
streamerModebooleanfalseプレビュー モデル名、クォータの詳細、プロンプト のタイムスタンプ、および更新可能な通知を非表示にします。
Copilot CLIまたは画面共有を示すときに便利です。
subagents.agentsobject{}エージェント名でキー指定されたエージェントごとのモデル構成。 各値は、省略可能な model (文字列)、 modelPolicy ("preferred" または "required")、 effortLevel (文字列)、および contextTier ("default"、 "long_context"、または "inherit") フィールドを持つオブジェクトです。 ディスパッチ時に親セッションの値を使用するには、 model、 effortLevel、または contextTier を "inherit" に設定します。
modelPolicy は、エージェント定義自体が modelPolicy: "required"を設定しても影響を与えません。ここでロックをオーバーライドすることはできません。 これらの設定を対話形式で構成するには、 /subagents スラッシュ コマンドを使用します。
subagents.agents["rubber-duck"].autoInvokebooleanfalseCopilotが指示されなくてもラバーダック エージェントに自発的に相談できるようにします。 これを変更するには、 /subagentsを実行し、 rubber-duck選択して Enter キーを押してから、 プロアクティブ呼び出しを切り替えます。
subagents.disabledSubagentsstring[][]オフになっているサブエージェントの名前。 対話型セッションで、**** ピッカー内の各エージェントに対して/subagents コントロールを使用して、この一覧を管理します。
subagents.maxConcurrencynumberプランベースこのセッションで同時実行可能なサブエージェントの最大数。 使用量ベースの課金ユーザーにのみ適用されます。他のすべてのプランでは無視されます。
32で上限。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
subagents.maxDepthnumber6サブエージェントの入れ子の深さの最大値。 使用量ベースの課金ユーザーにのみ適用されます。他のすべてのプランでは無視されます。
256で上限。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。
tabs.enabledbooleantrueホーム タブ バーを表示します。 完全に非表示にするには、 false に設定します。
tabs.hidestring[][]非表示にするタブ識別子。 使用可能な値: "copilot"、"agents"、"issues"、"pull-requests"、"gists"(大文字と小文字を区別せずに照合されます)。
tabs.sortstring[][]タブが表示される順序。 一覧にないタブは、リストされているタブの後に既定の相対順序を保持します。 不明な識別子は無視されます。
taskbarPresencebooleantrueWindows タスク バー (エージェント アイコンとホバー カード) にライブ Copilot セッションを表示します。 オプトアウトするには、 false に設定します。スタートアップのみ。は、次回の起動時に有効になります。 Windows のみ。
terminalNotificationsbooleanfalseデスクトップ通知が有効になっている場合は、サポートされているターミナル (Ghostty、WezTerm) でターミナル所有の OSC 777 通知を優先し、サポートされていない場合や配信に失敗した場合はネイティブ OS 通知にフォールバックします。
terminalProgressbooleantrueエージェントの作業中に、OSC 9;4 のターミナル進捗インジケーターを出力します。 サポートされるターミナルには、Windows ターミナル、iTerm2、Ghostty、ConEmu などがあります。
theme
"default"
|
"github"
|
"dim"
|
"high-contrast"
|
"colorblind"
"github"ターミナル出力のカラー パレット。
/settingsおよび/themeスラッシュ コマンドによって管理されます。
colorMode は、この設定の非推奨のエイリアスです。
toolSearchbooleanモデルと機能に依存ツールの検索を制御します(ツールの遅延読み込み)。
toolSearch: falseを設定して、ツール検索をオプトアウトします。
transcriptView
"default"
|
"concise"
"default"タイムラインでツール アクティビティを展開可能な作業の概要にグループ化するには、 "concise" に設定します。 完全なネイティブ トランスクリプトを表示するには、 "default" に設定します。
updateTerminalTitlebooleantrueターミナル タブまたはウィンドウ のタイトルに現在の意図を表示します。
worktreeBaseRef
"head"
|
"defaultBranch"
"head"
/worktree、/worktree new、/new worktree、/move、--worktreeによって作成された新しいワークツリーの開始点。
"defaultBranch" は、現在のチェックアウトではなく、リモートの既定のブランチから開始されます。
/fork worktree は、この設定に関係なく、常に HEAD から分岐します。
worktreePathTemplatestring設定解除する
/worktree、/move、/new、--worktreeワークツリー (~/src/worktrees/{repo}/{branch}など) を作成します。
{repoPath}、{repo}、{branch}、および{branchSlug}のプレースホルダーをサポートします。 設定を解除すると、既定のレイアウト <repo>.worktrees/が使用され、ブランチ名のスラッシュはダッシュにフラット化されます。

ヒント

サポートされているホストとすべてのsandbox設定キーを含む、完全なサンドボックス リファレンスについては、copilot help sandbox を実行します。

/sandboxダイアログでは、Git 認証、**** 認証、マスクされた環境変数が専用の gh タブの下にグループ化され、現在のサンドボックス構成が格納されている settings.json パスが表示されます。 [ ファイルシステム ] タブでは、構成済みのパスの一覧がアクセス許可 (たとえば、 2 read/write, 1 read-only) ごとに ユーザー設定パス 行の下で要約されます。 その行の Enter キーを押して完全なリストを開きます。このリストは、 Esc キーを押すまでカーソルとタブ バーを引き継ぎます。構成されたパスは、 ./相対または ~短縮形式ではなく、絶対パスとして表示されます。 パスを追加するときに「 ~/path 」と入力しても、ホーム ディレクトリに展開されます。 [/sandbox] ダイアログで Ctrl+Eキーを押して保留中の変更を保存し、エディター (COPILOT_EDITOR、VISUAL、またはEDITOR) でsettings.jsonを開き、/settingsで同じショートカットに一致させます。 ファイルを編集して保存すると、ダイアログによってディスクからその状態が再読み込みされます。

ホスト規則と sandbox.userPolicy.network.proxy は、組み込みのローカル プロキシを使用します。 両方が構成されている場合、ローカル プロキシは、アップストリーム プロキシにトラフィックを転送する前にホスト 規則を適用します。 アップストリームの資格情報は、サンドボックス化された子プロセスの外部にとどまります。 送信アクセスがオフの場合、ホストルールとプロキシ設定は非アクティブになります。

サンドボックス設定でプロキシが設定されていない場合、ローカル プロキシは、ホスト上でこの順序で HTTPS_PROXY、HTTP_PROXY、ALL_PROXY のうち最初に空でない環境変数からアップストリーム プロキシを選択します。 socks5 と http:// プロキシのみがサポートされ、https:// はサポートされません。

ホストの NO_PROXY に一致する宛先は、この継承されたアップストリーム プロキシだけをバイパスします。 サンドボックスのローカル プロキシは引き続きこれらの接続を処理し、そのホスト規則を適用します。 サンドボックス設定で構成されたプロキシは、NO_PROXYを無視します。

macOS と Linux では、サンドボックスによって直接接続が制限されるため、プログラムはプロキシを回避できません。 Windowsでは、サンドボックスはプロキシ設定に従うプログラムに依存します。 その結果、Windowsのプロキシ設定を無視するプログラムは直接接続し、ホストルールを回避できます。 Windowsプロキシとホスト ルールでは、サポートされているホストとallowLocalNetwork: trueも必要です。これはプライベート ネットワーク アクセスを許可します。 Linux では、プロキシ設定では、 [::] デュアルスタック ワイルドカード以外の IPv6 アドレス リテラルが拒否されます。 IPv4 エンドポイントまたは IPv4 サポートのホスト名を使用します。

サンドボックス設定は、ユーザー レベルまたは企業管理です。 これらはリポジトリでオーバーライドできません。 構成手順とネットワークの制限事項については、 ローカル サンドボックス設定の構成 を参照してください。

サンドボックスはMicrosoft eXecution Container (MXC)によって実現されており、プラットフォーム固有の分離バックエンドを提供します。 Copilot CLIでは、macOS では Seatbelt、Linux では Bubblewrap、Windowsでは ProcessContainer が使用されます。

リポジトリの設定 (.github/copilot/settings.json)

リポジトリの設定は、リポジトリ内で作業するすべてのユーザーに適用されます。 これらはリポジトリにコミットされ、コラボレーターと共有されます。

メモ

リポジトリ構成ファイル (enabledPlugins および extraKnownMarketplaces) 内のプラグイン関連のキーも、Copilot in the cloudだけでなく、Copilot CLIによって読み取られます。 これにより、1 つのファイルから両方のクライアントに対して同じプラグインを有効にすることができます。 プラグインの詳細については、 GitHub Copilot 用のプラグイン を参照してください。

リポジトリ レベルでは、次の表に示すキーのみがサポートされています。 その他のキー (ユーザー構成ファイルで有効なキーを含む) は、暗黙的に無視されます。 サポートされている各キーには、オーバーライドがフェールクローズかつ安全な状態に保たれるようにする方向性を持つマージポリシーがあります。

鍵タイプマージ動作説明
companyAnnouncementsstring[]置き換え — リポジトリが優先されます起動時にランダムに表示されるメッセージ。
contextTier
"default"
|
"long_context"
置き換え — リポジトリが優先されます既定のコンテキスト層をピン留めします。
deniedUrlsstring[]Union - リポジトリはエントリを追加でき、削除することはできませんURL またはドメインがブロックされました。
disableAllHooksbooleanリポジトリが優先されますすべてのフックを無効にします。
disabledMcpServersstring[]Union - リポジトリはエントリを追加でき、削除することはできませんMCP サーバーが構成されているが、開始されていません。
disabledSkillsstring[]Union - リポジトリはエントリを追加でき、削除することはできませんスキルが検出されましたが、読み込まれていません。
effortLevelstring置き換え — リポジトリが優先されます既定の推論レベルを固定します。
enabledPluginsRecord<string, boolean>マージ - リポジトリが同じキーのユーザーをオーバーライドする宣言型プラグインの自動インストール。
extraKnownMarketplacesRecord<string, {...}>マージ - リポジトリが同じキーのユーザーをオーバーライドするこのリポジトリで利用できるプラグイン マーケットプレース。 各エントリの source が必要です。 エントリの autoUpdate: true はリポジトリ レベルで受け入れられますが、現在は無視されています。自動更新オプトインは、ユーザー自身の設定または管理対象 (MDM/サーバー) 設定で設定されている場合にのみ適用されます。
hooksobjectマージ - リポジトリが同じキーのユーザーをオーバーライドするこのリポジトリにスコープが設定された定義をフックします。 「GitHub Copilot CLI でフックを使用する」を参照してください。
includeCoAuthoredByboolean置き換え — リポジトリが優先されますコミットに Co-authored-by トレーラーを追加する。
mergeStrategy
"rebase"
|
"merge"
置き換え — リポジトリが優先されます
/pr fix conflictsの競合解決戦略。
modelstring置き換え — リポジトリが優先されますこのリポジトリの既定のモデルをピン留めします。
respectGitignoreboolean強化のみ — リポジトリでは有効化のみ可能で、無効化はできません
@ ファイルメンション ピッカーから gitignored ファイルを除外します。

model、 effortLevel、および contextTier オーバーライドは、作業ディレクトリが 信頼されている場合にのみ適用されます。

リポジトリの enabledPlugins を介してのみ有効になっているプラグインは、そのリポジトリにスコープが設定されます。これは、宣言するリポジトリに自動インストールおよびアクティブ化されますが、グローバルに無効のままであるため、関連のないプロジェクトではアクティブ化されません。 リポジトリまたはプラグインを無効にするリポジトリを離れると、MCP サーバーが破棄され、セッションのエージェントとスキルが非アクティブ化されます。

リポジトリ レベルのモデルの許可リスト (.github/allowed_models.txt)

現在の作業ディレクトリのリポジトリ ルート (またはリポジトリの外部にある作業ディレクトリ自体) から解決された、 .github/allowed_models.txtのプレーンテキスト許可リストでリポジトリが使用できる組み込みモデルを制限します。

各行は、モデル ID に一致する glob パターン、または構成済みまたは要求されたモデルが許可されていない場合に使用するモデルに名前を付ける fallback: ディレクティブです。

# .github/allowed_models.txt
fallback: gpt-6-astra
gpt-6-astra
gpt-6-sol
claude-sonnet-*
ルール説明
*すべてのモデルを許可します (ファイルがない場合は既定値)。
MODEL-ID正確なモデル ID を許可します。
GLOB-PATTERNglob と一致するモデル ID を許可します (例: claude-sonnet-*)。
fallback: MODEL-ID1 回だけ必要です。 モデル Copilot は、アクティブなモデルが許可されていない場合に使用します。
#コメント行。

否定パターン (!pattern) はサポートされていません。フォールバック モデルは、(glob ではなく) 正確な ID である必要があり、フォールバック モデル自体が構成された glob のいずれかに一致している必要があります。 Copilot CLI /cdでポリシーを再評価し、実行前にエラーが発生した無効なファイルを拒否します。

許可リストは、 Copilotの組み込みモデルのみを管理します。 Bring Your Own API Keys (BYOK) メソッドを使用して追加されたカスタム モデルを除外することはできません。 BYOK モデルは、構成するパターンに関係なく一覧表示され、選択可能なままであり、 fallback: ディレクティブは適用されません。 詳細については、「エンタープライズでのGitHub Copilotのカスタム モデルの有効化」および「組織内のGitHub Copilotのカスタム モデルを有効にする」を参照してください。

ローカル設定 (.github/copilot/settings.local.json)

コミットすべきでない個人用オーバーライドの .github/copilot/settings.local.json をリポジトリに作成します。 このファイルを .gitignoreに追加します。

ローカル構成ファイルは、リポジトリ構成ファイル (.github/copilot/settings.json) と同じスキーマを使用し、そのスキーマよりも優先されます。

MDM で管理される設定

IT 管理者は、ユーザーごとの構成を必要とするのではなく、モバイル デバイス管理 (MDM) の管理対象設定を使用してベースライン ポリシーをプッシュできます。 これらの設定では、サポートされているキーのデバイス レベルの既定値が適用され、ユーザー設定の前に読み込まれます。

マネージド設定は、対話型、 -p、 --acp、 --ahp-host、 --serverなど、すべてのセッション ホスティング モードに均一に適用されるため、エンタープライズ MCP、アクセス許可、プラグイン ポリシーは、別のエントリ ポイントを介してセッションを開始することによってバイパスできません。

Copilot CLI また、MDM に加えて、起動時にサーバーで管理される設定も読み込まれます。 デバイス管理(MDM)設定とサーバー管理設定は、キーごとに適用されます。MDM で設定されたキーでは MDM の値が優先され、MDM で未設定のキーはサーバーの値で補われます。 これにより、組織は MDM ( permissions など) を使用してポリシーを設定しながら、サーバーから他の管理対象の既定値 ( model など) を受け取ります。

実行時間の長いセッションでは、1 時間ごとに管理設定の再フェッチと再適用が行われるので、ポリシーの変更 (たとえば、 permissions.disableBypassPermissionsModeを有効にする組織) は、セッションを再起動せずに有効になります。

MDM 管理対象設定の提供元

Copilot CLI は、プラットフォーム固有の MDM またはファイル ベースの場所からマネージド設定を読み取ります。

PlatformソースタイプLocation
macOSMDM plistcom.github.copilot
macOSFile/Library/Application Support/GitHubCopilot/managed-settings.json
WindowsMDM レジストリHKLM\SOFTWARE\Policies\GitHubCopilot
WindowsFile%ProgramFiles%\GitHubCopilot\managed-settings.json
LinuxFile/etc/github-copilot/managed-settings.json

メモ

POSIX システムでは、Copilot CLI は、シンボリックリンクであるか、root に所有されていないか、または誰でも書き込み可能なファイルベースの管理対象設定を拒否します。

ファイル形式

ファイル ベースのマネージド設定を JSON として書き込みます。

{
    "model": "auto",
    "permissions": {
        "disableBypassPermissionsMode": "disable"
    }
}

メモ

model は最上位のキーです。 permissions.modelとして入れ子にした古い構成は引き続き機能します。最上位のmodel キーがない場合はランタイムはその場所にフォールバックしますが、最上位レベルにmodelを持つ新しい構成を書き込みます。

サポートされているキー

MDM 管理設定では、次のキーのみがサポートされます。

鍵説明
allowedMcpServersユーザーが読み込む MCP サーバーの許可リストは、 serverUrl、 serverCommand、または serverNameによって照合されます。 信頼されたファースト パーティ サーバー (組み込みの GitHub MCP サーバーなど) は常に除外されます。 このキーを未設定のままにすると、既定以外のすべてのサーバーが許可されます。空の配列は、それらのすべてを拒否します。
管理対象 MCP サーバーの許可/拒否リストを参照してください。
autoTier
modelがautoに設定されているセッションの既定の自動ルーティング層 ("efficiency"、"balance"、または"intelligence") を設定します。 ベア文字列は階層を厳密にロックし、ユーザーとリポジトリの設定をオーバーライドし、 /settingsから非表示にします。 代わりに、 {"overridable": "TIER"} を使用して、ユーザーとリポジトリが引き続きオーバーライドできる組織の既定値を設定します。
"fast" は選択できなくなり、警告が表示された "balance" にフォールバックします。
deniedMcpServers読み込む必要がない MCP サーバーの拒否リストが、 allowedMcpServersと同じ方法で一致しました。 一致する既定以外のサーバーは、許可リストに関係なくブロックされます。拒否は常に優先されます。
管理対象 MCP サーバーの許可/拒否リストを参照してください。
enabledPlugins特定のプラグインを有効または無効にする
extraKnownMarketplaces信頼できるプラグイン マーケットプレースを追加する
forceLoginOrgsサインイン先を、承認済みの GitHub 組織群(大文字と小文字を区別せずに照合される組織ログイン名の配列)に限定します。
Copilot 少なくとも 1 つの組織に属するアカウントに対してのみ実行されます。個人アカウント、他の企業にのみ属するアカウント、または BYOK/API キー認証は、操作可能なエラーで拒否されます。 キーを削除せずにピンをオフにするには、空の配列を設定します。 このキーは、開発者の最初のサインインをリダイレクトできる必要があるため、デバイス チャネル (MDM plist/registry、または managed-settings.json) を介して展開します。サーバー管理チャネルは、組織に既に認証されているアカウントにのみ到達します。 このキーは閉じられません。使用できない値、または既知のマネージド デバイスで読み取ることができない管理ポリシーは、固定されるまですべてのサインインをブロックします。
forceRemoteSettingsRefreshキャッシュされた新しいポリシーが存在する場合でも、起動時にサーバーで管理される新しい設定のフェッチが必要です。 キャッシュされたポリシーは、鮮度要件を満たすことはできません。 フェッチが失敗した場合、影響を受ける操作は、現在のポリシーが確認されるまで制限されたままになります。 デバイス (MDM) の値は、キャッシュされたサーバー値よりも優先されます。
modelすべてのユーザーの既定のモデルを設定します ( --model フラグまたは再開セッション モデルによってオーバーライドされます)。
effortLevelとcontextTier``model対応するリポジトリ設定キーと同じマネージド推論作業とコンテキスト層を適用しますが、マネージド モデルが明示的な作業/コンテキスト オプションをサポートしている場合にのみ適用されます。
permissions
disableBypassPermissionsMode、deny / ask / allowルール配列、limitTo ドメイン境界配列など、マネージド権限を設定します。
管理アクセス許可規則とドメイン境界 (limitTo) を参照してください。
policyHelper最も優先度の低いマネージド設定レイヤーを提供する実行可能ファイルを登録します。 フィールド: path (必須)、オプションの args、 timeoutMs、および refreshIntervalMs。 デバイス (MDM) とサーバー ポリシーの両方が policyHelperを登録すると、デバイスの登録が優先されます。
remoteControlこのデバイス上のセッションを他のデバイスから制御できるかどうかを制御します。
mode が "enabled"、 "disabled"、または "requireSSO" (設定時に githubDotComOrganizations が必要)。
requireBase64ImageAttachments
true の場合は、添付ファイルの URL ではなく、base64 でエンコードされた画像添付ファイルが必要です。
false または未設定のままにすると、既存の動作が維持されます。
sandboxユーザーがリラックスできないサンドボックス ポリシー フロアを設定します。 サポートされている設定には、 enabled、 failIfUnavailable、 allowBypass、 addCurrentWorkingDirectory、 sandboxMcpServers、 sandboxLspServers、 auth.git、 auth.gh、 allowDevToolAccess、 learningMode、および userPolicy.* ファイルシステムとネットワークルールが含まれます。 管理値は、常にユーザー自身の値よりも安全な方向に優先されます。 サンドボックスをオンにし、成功を要求し、MCP サーバーと LSP サーバーのサンドボックス化をオフにすることはできません。 バイパスまたは資格情報の挿入を無効にして再度有効にすることはできません。 ファイルシステム許可リストは絞り込みのみ可能で、拒否されたパスは追加することしかできません。
failIfUnavailable は管理者のみが設定でき、サンドボックスを確立できない場合はセッションをブロックします。 ユーザーが自分で設定できる設定については、「 ユーザー設定 」を参照するか、 copilot help sandboxを実行します。
shellShortcutすべてのユーザーの $ 対話型シェル ショートカットを強制的に有効または無効にします。 マネージド値は、常にユーザー独自の shellShortcut 設定をオーバーライドします。
strictKnownMarketplacesプラグインを既知のマーケットプレースの許可リスト (マーケットプレース スペックの JSON 配列) に制限します。 また、allowlist は、設定後に組み込みのマーケットプレースを管理します。空の配列 ([]) は、ユーザーまたはリポジトリが追加されたマーケットプレースだけでなく、組み込みも含め、すべてのマーケットプレースを非表示にしてブロックします。
telemetryプッシュ ベースライン OpenTelemetry エクスポート構成: enabled、 endpoint、 protocol、 headers、 resourceAttributes、 captureContent、 lockCaptureContent、 serviceName、および headersProvider。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。

メモ

* policyHelper.path は、絶対パス、ホーム相対パス (~/...)、または PATHから解決されたベア プログラム名を受け取ります。 その他の相対フォームは拒否されます。 登録は受け入れられ、検証されますが、ランタイムはまだヘルパーを呼び出していません。ヘルパー実行は将来のリリースで提供されます。 * remoteControl.modeが"requireSSO"されたら、remoteControl.githubDotComOrganizationsで許可されている組織を一覧表示します。 クライアントは、一覧表示された組織のうち少なくとも 1 つに対して SSO 認可されている必要があります。すべての組織に対して認可されている必要はなくなりました。 * permissions.disableBypassPermissionsModeを MDM 管理設定で"disable"に設定して、デバイス レベルですべて許可するオプションをブロックします。 アカウントの切り替えでこのポリシーを無効にすることはできません。 認識できない値が設定されている場合、CLI は問題をログに記録し、フェールクローズの既定値として "disable" を適用します。 「GITHUB COPILOT CLI コマンド リファレンス」を参照してください。

  • ほとんどのマネージド キーは行全体をロックします。ローカル編集は、次の読み込み時にマネージド値によって自動的にオーバーライドされます。 enabledPlugins extraKnownMarketplacesは例外です。マネージド レイヤーは、これらのマップを完全に置き換えるのではなく、フィールドごとに独自のエントリとマージします。 つまり、ロックはキー全体ではなく 、エントリごとに適用されます。マネージド ポリシーによってピン留めされたプラグインやマーケットプレースをローカルで再有効化、無効化、または再ポイントすることはできませんが、同じマップ内の他のエントリは完全にユーザー制御のままです。

sandbox.learningModeはWindows専用であり、ネイティブ MDM (Intune やレジストリなど) 経由でのみ設定できます。managed-settings.json ファイルの値は無視されます。 拒否キャプチャを使用するホストで、既定のレコードおよび拒否モードではなく、レコードアンド許可モードでサンドボックス シェル コマンドを開始するように "allow" に設定し、各ファイルシステムまたはプロセスのアクセスを記録し、拒否するのではなく許可します (ネットワーク ポリシーは引き続き適用されます)。 これにより、管理者は、コーホートをロックダウンする前に、コーホートのコマンドに何が必要かを観察できます。これはコンテインメント モードではありません。 状態行には sandbox relaxed が表示され、シェル呼び出しは適用されている間 (sandbox relaxed) を表示します。 deny値 (既定値) またはキーを削除すると、通常の強制サンドボックスにコーホートが返され、マネージド チャネルからのdenyは常にallowよりも優先されます。 ユーザー設定と SDK ホストでは、このキーを設定できません。

マネージド アクセス許可ルール

マネージド permissions キーの下にdeny、ask、およびallowルール リストを追加して、すべてのユーザーにアクセス許可ポリシーを適用します。 これは、 permissions.disableBypassPermissionsMode が設定されているかどうかに関係なく機能します。

{
    "permissions": {
        "deny": ["Shell(rm -rf *)", "Domain(*.evil.example)"],
        "ask": ["Shell(git push *)"],
        "allow": ["Read(**)"]
    }
}
ルール ファミリー一致
Bash(...)、Shell(...)シェル コマンド。 コマンド プレフィックスと一致するには、 <command> * ( git push * など) を使用します。それ以外の場合は、ルールが正確なテキストと一致します。
PowerShell(...)PowerShell コマンドは、 Shell(...)と同じ方法で一致しました。
Read(...)ファイルの読み取り/表示パス。 glob パターンをサポートします。ワークスペース ルートの / 、ホーム ディレクトリの ~/ 、現在の作業ディレクトリの ./ 。
Edit(...)、Write(...)ファイルの書き込み/編集パスは、 Read(...)と同じ方法で一致しました。
Domain(...)URL ルールと同様に一致する URL ホスト名。

ルールは、固定の優先順位を持つマネージド ソース間で結合されます。拒否は常に優先され、次に要求され、許可されます。 deny ルールに一致すると、 allow ルールも一致する場合でも要求がブロックされます。 deny と ask は、すべてのマネージド ソース (サーバー、MDM) で共用化されます。 allow では、allow リストを宣言するすべてのソースでその操作が許可されている必要があります。つまり、和集合ではなく積集合として扱われます。 deny、ask、または allow のいずれかが設定されている場合、それらのいずれにも一致しない操作は、暗黙にフォールスルーするのではなく、既定で ask になります。

Edit(...) および Write(...) ルールは、組み込みのファイル ツールよりも多くの場合に適用されます。 また、シェル コマンドによって直接書き込まれたファイルについても説明します。 Copilot CLI は、これらの書き込みの固定セットを認識します。 Bash 出力リダイレクト (>、 >>、 >|、 &>、 &>>)、PowerShell 出力リダイレクト (>、 >>、 *>、 *>>)、および少数のインプレース sed 編集 (sed -i または --in-place、BSD フォームの -i '' と -I '') について説明します。 Copilot CLIコマンドからターゲット ファイルを処理できる場合は、一致するdenyルールによって書き込みがブロックされ、一致するaskルールによって最初にプロンプトが表示されます。 これは、 Shell(*) のような広範なルールでコマンドが許可される場合でも適用されます。 パスが変数から取得された場合など、ターゲット ファイルを事前に処理できない場合があります。 その場合、これらのパスルールは適用されず、代わりに通常のシェルコマンドルールによってコマンドがチェックされます。

ドメイン境界 (limitTo)

マネージド limitTo キーの下に、deny、ask、およびallowと共にpermissions配列を追加して、クローズド ワールド ドメイン許可リストを適用します。

{
    "permissions": {
        "limitTo": ["github.com", "*.github.com"]
    }
}

Domain(...)では、limitToエントリのみがサポートされます。 リスト外のドメインに対するエージェント ネットワーク要求は、プロンプトなしで拒否され、ユーザー ルール、保存された承認、およびすべて許可モードでも、この許可範囲を広げることはできません。 シェル要求で検出された URL は、Domain 要求として扱われ、境界条件も満たす必要があります。 limitTo 自体では、shell、read、または write の操作を制限しません。

空の limitTo リストは、すべてのドメイン要求を拒否します。 無効なリストまたは無効なエントリは、管理ポリシーの残りの部分を破棄するのではなく、空のリスト (および構成エラーとして報告) として扱われます。

deny 引き続き limitToよりも優先されます。 ask と allow は、既に境界内にある要求のみを絞り込みます。 allowと同様に、limitToはマネージド ソース全体にわたる交差集合です。limitTo リストを宣言するすべてのマネージド ソースは、そのリクエストを受け入れなければなりません。

管理対象 MCP サーバーの許可/拒否リスト

管理者は、エンタープライズ MCP 許可リストに関係なく、MDM で管理された設定を使用して MCP サーバーを直接管理できます。

マネージド設定ソースで allowedMcpServers または deniedMcpServers を設定します。

{
    "allowedMcpServers": [
        { "serverUrl": "https://mcp.example.com/*" },
        { "serverCommand": ["npx", "-y", "@example/mcp-server"] }
    ],
    "deniedMcpServers": [
        { "serverName": "untrusted-server" }
    ]
}

各エントリは、次のいずれかのマッチャーによってサーバーを識別します。

マッチャー一致注記
serverUrlURLで指定されたリモートの HTTP/SSE サーバー
* ワイルドカードを使用できます。スキームとホストの照合では大文字と小文字を区別しませんが、パスでは区別します。
${VAR} 参照は照合前に展開されます。
serverCommandコマンドと引数が順序も含めて完全に一致する stdio サーバー
${VAR} 参照は照合前に展開されます。
serverName割り当てられたラベルで識別されたサーバー許可リスト エントリは [A-Za-z0-9_./-]+ に制限されます (大文字と小文字が区別され、ワイルドカードはありません。microsoft/playwright-mcp などのレジストリ名は受け入れられます); 拒否リスト エントリは空でない文字列を受け入れます。

準則:

  • 信頼されたファースト パーティ サーバー (組み込みの GitHub MCP サーバーなど) は、常に両方のリストから除外されます。
  • allowedMcpServersの設定を解除するでは、既定以外のすべてのサーバーが許可されます。空の配列は、それらすべてをブロックします (deny-all)。
  • 設定解除または空の deniedMcpServers は何もブロックしません。
  • 拒否は常に優先されます。 deniedMcpServers に一致するサーバーは、 allowedMcpServersにも一致する場合でもブロックされます。
  • リモート サーバーの場合、一致はserverUrlエントリから取得する必要があります。serverName``serverUrlエントリが存在しない場合にのみカウントされます。 stdio サーバーの場合、一致はserverCommandエントリから取得する必要があります。serverName``serverCommandエントリが存在しない場合にのみカウントされます。

詳細については、次を参照してください。