Copilot CLI (コパイロット CLI) では、構成、セッション履歴、ログ、カスタマイズがコンピューター上の 1 つのディレクトリに格納されます。 既定では、このディレクトリは ~/.copilot (つまり、 $HOME/.copilot) です。
この記事では、このディレクトリの内容とその使用方法について説明します。
ディレクトリの概要
~/.copilot ディレクトリには、次の最上位項目が含まれています。
| Path | タイプ | 説明 |
|---|---|---|
agents/ | ディレクトリ | 個人用カスタム エージェント定義 |
config.json | File | 自動的に管理されるアプリケーションの状態 (認証、インストールされているプラグイン、およびその他の内部データ) |
copilot-instructions.md | File | 個人のカスタム命令 (すべてのセッションに適用) |
extensions/ | ディレクトリ | CLI によって読み込まれた個人用拡張機能 |
hooks/ | ディレクトリ | ユーザー レベルのフック スクリプト |
ide/ | ディレクトリ | IDE 統合状態 |
installed-plugins/ | ディレクトリ | インストールされているプラグイン ファイル |
instructions/ | ディレクトリ | その他の個人用 *.instructions.md ファイル |
logs/ | ディレクトリ | セッション ログ ファイル |
lsp-config.json | File | ユーザー レベルの LSP サーバー定義 |
mcp-config.json | File | ユーザー レベルの MCP サーバー定義 |
mcp-oauth-config/ | ディレクトリ | MCP OAuth トークンと登録フォールバック ストレージ |
mcp-secrets/ | ディレクトリ | MCP シークレット プレースホルダーのローカル フォールバック ストレージとインデックス |
permissions-config.json | File | プロジェクトごとに保存されたツールとディレクトリのアクセス許可 |
plugin-data/ | ディレクトリ | インストールされているプラグインの永続的なデータ |
session-state/ | ディレクトリ | セッション履歴とワークスペース データ |
command-history-state/ | ディレクトリ | コマンド履歴データ |
session-store.db | File | セッション間データ用の SQLite データベース |
settings.json | File | 個人用の構成設定 |
skills/ | ディレクトリ | 個人のカスタム スキル定義 |
メモ
これらの項目のすべてがすぐに表示されるわけではありません。 一部は、特定の機能を初めて使用したときにオンデマンドで作成されます。たとえば、 installed-plugins/ は、最初のプラグインをインストールした後にのみ表示されます。
ユーザーが編集可能なファイル
次のファイルは、ユーザーが直接編集するか、CLI コマンドを使用して管理するように設計されています。
settings.json
これは、 Copilot CLI (コパイロット CLI)のプライマリ構成ファイルです。 セッション内では、対話型の /settings コマンドを使用して特定の値を変更したり、 /settings KEY VALUE を実行して 1 つの値を設定したり、テキスト エディターで直接ファイルを編集したりできます。 このファイルは、コメント付き JSON (JSONC) をサポートしています。
メモ
ユーザーが編集可能な設定は、もともと config.jsonに格納されていました。 これらは settings.jsonに移動されました。 起動時に config.json に存在するすべてのユーザー設定は、自動的に settings.jsonに移行されます。
設定の完全な一覧と、リポジトリ レベルの構成との対話方法については、この記事で後述する 構成ファイルの設定 を参照してください。
ヒント
ターミナルで copilot help config を実行してクイック リファレンスを確認します。
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スラッシュ コマンドを使用してこのファイルを管理するか、直接編集します。
詳細については、「LSP サーバーの追加 GitHub Copilot CLI(コマンドラインインターフェース)」を参照してください。
agents/
個人用カスタム エージェント定義を .agent.md ファイルとしてここに格納します。 このディレクトリに配置されたエージェントは、すべてのセッションで使用できます。 Projectレベルのエージェント (.github/agents/) は、同じ名前を共有する場合は、個人エージェントよりも優先されます。
詳細については、「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 (コパイロット CLI) では、ユーザー設定とアプリケーションの状態の両方が config.jsonに格納されています。 ユーザーが編集可能な設定が settings.jsonに配置されるようになりました。 起動時に config.json のすべてのユーザー設定が自動的に settings.jsonに移行されます。 アプリケーションの状態フィールド ( loggedInUsers、 installedPlugins、 firstLaunchAt、 staffなど) は config.json のままであり、移行されません。
permissions-config.json
保存したツールとディレクトリのアクセス許可の決定をプロジェクトの場所別に格納します。 ツールを承認するか、現在の場所のディレクトリへのアクセスを許可すると、CLI によって決定がここに記録されるため、同じリポジトリまたはディレクトリに再度プロンプトが表示されることはありません。
メモ
プロジェクトのアクセス許可をリセットする場合は、このファイルから関連するエントリを削除できます。 ただし、セッションの実行中にファイルを編集すると、予期しない動作が発生する可能性があります。 CLI は、場所パスがディスク上に存在しなくなったエントリを自動的に削除します。
ファイルの場所
Copilot CLI (コパイロット CLI) は、構成ディレクトリからファイルを解決します。
| 優先度 | Source | 使用されるファイル |
|---|---|---|
| 1 | --config-dir=DIRECTORY | DIRECTORY/ |
| 2 | COPILOT_HOME | $COPILOT_HOME/ |
| 3 | Default | ~/ |
--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) が実行されている場所と一致する必要があります。 キーが一致しない場合、保存された承認は適用されません。
CLI は、セッションの開始時とアクティブな作業ディレクトリの変更時に、一致する場所の承認を読み込みます。
Schema
ファイルには JSON オブジェクトが含まれている必要があります。
| フィールド | タイプ | 必須 | Default | 許可された値 | 説明 |
|---|---|---|---|---|---|
locations | Object | いいえ | {} | 絶対パス キー | 保存された承認に対する場所キーのマップ。 |
locations.<key> | Object | いいえ | {} | 任意の絶対位置キー | 1 つのリポジトリまたはディレクトリの承認を保存しました。 |
locations.<key>.tool_approvals | Array | いいえ | [] | 承認オブジェクト | この場所に対して承認されたツール。 |
locations.<key>.allowed_directories | 文字列の配列 | いいえ | [] | 絶対ディレクトリ パス | パス ゲートがこの場所にアクセスできる追加のディレクトリ。 CLI が構成を適用する場合は、各ディレクトリが存在する必要があります。 |
locations.<key>.tool_approvals[].kind | String | はい | None | ||
commands、 read、 write、 mcp、 mcp-sampling、 memory、 custom-tool、 extension-management、 extension-permission-access | 承認の種類を選択します。 | ||||
command | 文字列の配列 | はい、commands に対してです | None | コマンド識別子 | 承認するシェル コマンドの識別子。 |
serverName | String | はい。 mcp と mcp-sampling | None | MCP サーバー名 | 承認対象のMCPサーバー。 |
toolName | 文字列または null | はい、mcp に対してです。 | None | MCP ツール名、または null | 承認用のMCPツール。 |
nullを使用して、サーバー上のすべてのツールを承認します。 | |||||
toolName | String | はい、custom-toolです。 | None | カスタム ツール名 | 正確な名前で承認するカスタム ツール。 |
operation | String | いいえ、extension-managementについては | 省略 | 拡張機能の操作名 | 拡張機能管理を承認する操作 すべての拡張機能管理操作を承認するには、このフィールドを省略します。 |
extensionName | String | はい、extension-permission-access についてです。 | None | 拡張機能の名前 | アクセス許可が制限された機能へのアクセスが承認されている拡張機能。 |
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 | 必須フィールド | オプションフィールド | Meaning |
|---|---|---|---|
commands | command | None | 一致するシェル コマンド識別子を承認します。 |
read | None | None | 読み取りツールへのリクエストを承認します。 対話型 CLI セッションでは既に読み取りが自動的に承認されているため、通常は不要です。 |
write | None | None | ファイルの作成と変更ツールの要求を承認します。 パス プロンプトは、許可されたディレクトリの外部のパスに対して引き続き適用できます。 |
mcp | |||
serverName、toolName | None | ||
toolNameがnullされたときに、1 つの MCP ツールまたはサーバー上のすべてのツールを承認します。 | |||
mcp-sampling | serverName | None | 1 台のサーバーに対する MCP サンプリング要求を承認します。 |
memory | None | None | メモリの書き込みと投票の要求を承認します。 |
custom-tool | toolName | None | 正確な名前でカスタム ツールを承認します。 |
extension-management | None | operation | 拡張機能の管理を承認します。 |
operationを省略すると、すべての拡張機能管理操作が一致します。 | |||
extension-permission-access | extensionName | None | アクセス許可が制限された機能への拡張機能のアクセスを承認します。 |
MCP 承認の場合、 serverName は構成された MCP サーバー名と正確に一致する必要があります。 サニタイズされたツール名プレフィックスではなく、MCP 構成の生サーバー名を使用します。
シェルコマンドの照合
commandIdentifiers は、シェル要求から抽出されたコマンド識別子と一致します。 一致は、 :* サフィックスを除いて正確です。
| Pattern | 一致 | 一致しない |
|---|---|---|
git status | git status | git status --short |
git:* | ||
git、git status、git push | gitea | |
gh pr:* | ||
gh pr、gh pr view、gh pr create | gh repo view |
:*サフィックスは、一般的な glob パターンではありません。 これは、ステムそのもの、またはステムの後にスペースと追加のテキストが続くものに一致します。
ディレクトリ マッチング
allowed_directories エントリを使用すると、 Copilot CLI (コパイロット CLI) は個別のパス プロンプトなしで、これらのディレクトリ内のパスにアクセスできます。 ツール操作自体は承認されません。 たとえば、許可されたディレクトリ内のファイルを編集するには、引き続き write の承認が必要な場合があります。
各 allowed_directories エントリは、絶対、空でない、アクセス可能なディレクトリである必要があります。 CLI は、パスを比較する前にシンボリック リンクを解決し、UNC ネットワーク パスは拡張長ローカル パスでない限り許可せず、Windows では大文字と小文字を区別せずにパスを比較し、その他のプラットフォームでは大文字と小文字を区別してパスを比較します。 エントリを適用できない場合、CLI は警告をログに記録し、そのエントリをスキップします。
例示
すべての Git サブコマンドを許可し、追加のローカル ディレクトリにアクセスします。
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
{
"locations": {
"C:\\src\\my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": ["git:*"]
}
],
"allowed_directories": ["C:\\src\\shared-docs"]
}
}
}
ファイルの書き込み前に確認しながら、選択したコマンドを許可します。
{
"locations": {
"/Users/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "commands",
"commandIdentifiers": [
"git status",
"git diff",
"git log",
"npm test",
"npm run build"
]
}
]
}
}
}
{
"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 サーバーを承認します。
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
{
"locations": {
"/home/YOUR-USER/src/my-repo": {
"tool_approvals": [
{
"kind": "write"
},
{
"kind": "mcp",
"serverName": "github-mcp-server",
"toolName": null
}
]
}
}
}
1つのMCPツール、メモリへの書き込み、拡張機能の権限へのアクセスを承認する:
{
"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"
}
]
}
}
}
{
"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 CLI(コマンドラインインターフェース) について」を参照してください。
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 (コパイロット CLI) が Visual Studio Code に接続する場合)。 このディレクトリは自動的に管理されます。
mcp-oauth-config/
キーチェーンベースのストレージが使用できない場合の MCP OAuth トークン、登録、PKCE フォールバック ファイルが含まれます。 このディレクトリは自動的に管理されます。
mcp-secrets/
キーチェーンベースのストレージが使用できない場合のフォールバック ファイル ストレージと MCP シークレット プレースホルダーのインデックスが含まれます。 このディレクトリは自動的に管理されます。
構成ディレクトリの場所の変更
既定の ~/.copilot 場所をオーバーライドするには、 COPILOT_HOME 環境変数を使用するディレクトリのパスに設定します。
export COPILOT_HOME=/path/to/my/copilot-config
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設定します。 - macOS:
安全に削除できる内容
| 品目 | 安全に削除できますか? | 影響 |
|---|---|---|
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/ | はい | プラグインの永続データは、必要に応じて再作成されます。 |
session-state/ | 慎重に | 削除すると、セッション履歴が削除されます。 過去のセッションを再開できなくなります。 |
command-history-state/ | 慎重に | 削除すると、コマンド履歴が削除されます。 |
| Ctrl+R を使用して前のコマンドを検索できなくなります。 | ||
session-store.db | 慎重に | 削除すると、セッション間のデータが削除されます。 ファイルは自動的に再作成されます。 |
settings.json | 慎重に | すべてのユーザー設定を既定値にリセットします。 設定を再構成する必要があります。 |
構成ファイルの設定
設定はユーザーからリポジトリ、そしてローカルへと階層的に適用され、より具体的なスコープがより一般的なスコープを上書きします。 コマンド ライン オプションと環境変数は常に最も優先順位が高くなります。
| Scope | Location | 目的 |
|---|---|---|
| ユーザー | ~/ | すべてのリポジトリのグローバルな既定値。 |
COPILOT_HOME環境変数を使用して、代替パスを指定します。 | ||
| リポジトリ | .github/ | 共有リポジトリの構成 (リポジトリにコミット)。 |
| Local | .github/ | 個人のオーバーライド (これを .gitignoreに追加します)。 |
CLI では、リポジトリ設定の共有クロスツール サブセット (.claude/settings.json、.claude/settings.local.json、companyAnnouncements、disableAllHooks、enabledPluginsなど) のextraKnownMarketplacesとhooksも読み取ります。
ユーザー設定 (~/.copilot/settings.json)
これらの設定は、すべてのセッションとリポジトリに適用されます。
/settingsスラッシュ コマンドを使用して対話型ダイアログを実行したり、特定のスラッシュ コマンドを使用して個々の値を更新したり、このファイルを直接編集したりできます。
| 鍵 | タイプ | Default | 説明 |
|---|---|---|---|
allowedUrls | string[] | [] | URL またはドメインは、プロンプトなしで許可されます。 正確な URL、ドメイン パターン、ワイルドカード サブドメイン ( "*.github.com" など) をサポートします。 |
askUser | boolean | true | エージェントが明確な質問をすることを許可します。 完全に自律的な操作を行うために false に設定します。 |
--no-ask-userで設定することもできます。 | |||
autoUpdate | boolean | true | CLI の更新プログラムを自動的にダウンロードします。 |
auto | |||
"stable" | |||
| | | |||
"prerelease" | |||
"stable" | チャネルを更新します。 プレリリース更新プログラムを受け取る "prerelease" に設定します。 | ||
banner | |||
"always" | |||
| | | |||
"once" | |||
| | | |||
"never" | |||
"once" | アニメーションバナーの表示頻度。 | ||
bashEnv | boolean | false | bash シェル BASH_ENV サポートを有効にします。 |
--bash-envまたは--no-bash-envで設定することもできます。 | |||
beep | boolean | true | 注意が必要な場合は、聞こえるビープ音を鳴らします。 |
beepOnSchedule | boolean | true | スケジュールされた /every または /after の実行が完了したときに、聞こえるビープ音を再生します。 |
built | boolean | true | エージェントの計画に対して批判的なフィードバックを提供するラバーダックのサブエージェントを有効にします。 |
built | boolean | false | 自動ラバーダック呼び出しのプロアクティブなプロンプトを含めます。 エージェントターン中に追加のゴムダックナッジをオプトインするには、 true に設定します。 |
colorMode | |||
"default" | |||
| | | |||
"github" | |||
| | | |||
"dim" | |||
| | | |||
"high-contrast" | |||
| | | |||
"colorblind" | |||
"default" | カラー コントラスト モード。 | ||
/settingsおよび/themeスラッシュ コマンドによって管理されます。 | |||
compactPaste | boolean | true | 大きな貼り付け (10 行を超える) をコンパクト トークンに折りたたみます。 |
company | string[] | [] | 起動時にランダムに表示されるカスタム メッセージ。 CLI が開始されるたびに 1 つのメッセージがランダムに選択されます。 チームのお知らせやリマインダーに便利です。 |
continue | boolean | false | レートが制限されている場合は、自動モードに自動的に切り替わります。 |
trueすると、対象となるレート制限エラーによって自動モードへの自動切り替えがトリガーされ、再試行されます。 グローバル レート制限または BYOK プロバイダーには適用されません。 | |||
copyOnSelect | boolean | ||
true (macOS)、 false (その他) | マウスで選択したテキストをシステム クリップボードに自動的にコピーします。 | ||
custom | boolean | false | ローカル カスタム エージェントのみを使用します (リモート組織またはエンタープライズ エージェントは使用しません)。 |
deniedUrls | string[] | [] | 常に拒否される URL またはドメイン。 拒否規則は、許可規則よりも優先されます。 |
disableAllHooks | boolean | false | すべてのフック (リポジトリ レベルとユーザー レベルの両方) を無効にします。 |
disabled | string[] | [] | 無効にする MCP サーバー名。 一覧表示されたサーバーは構成されていますが、起動されていません。 |
disabledSkills | string[] | [] | 無効にするスキル名。 一覧表示されたスキルは検出されますが、読み込まれません。 |
effortLevel | string | "medium" | 拡張思考の推論作業レベル: "low"、 "medium"、 "high"、または "xhigh"。 レベルが高いほど、より多くのコンピューティングが使用されます。 |
enabledMcpServers | string[] | [] | 既定で無効になっている組み込みの MCP サーバー ( "computer-use"など) を有効にします。 |
enabledPlugins | Record<string, boolean> | {} | 宣言型プラグインの自動インストール。 キーはプラグインの仕様です。値は true (有効) または false (無効) です。 |
experimental | boolean | false | 試験的な機能を有効にします。 |
--experimentalコマンド ライン オプションまたは /experimental スラッシュ コマンドを使用して有効にすることもできます。 | |||
extra | Record<string, {...}> | {} | 追加のプラグイン マーケットプレース。 各キーはマーケットプレース名です。この値はソース ("directory"、 "git"、または "github") を指定します。 |
footer | object | — | ステータス行に表示する項目を制御します。 サブキーには、 showModelEffort、 showDirectory、 showBranch、 showContextWindow、 showQuota、 showAgent、 showAiUsed、 showCodeChanges、 showUsername、 showSandbox、 showYolo、 showCustom (すべて boolean) が含まれます。 |
/statuslineスラッシュ コマンドによって管理されます。 | |||
hooks | object | — | イベント名でキー指定されたインライン ユーザー レベルのフック定義。 |
.github/ ファイルと同じスキーマを使用します。 「GitHub Copilot CLI(コマンドラインインターフェース) でフックを使用する」を参照してください。 | |||
ide.autoConnect | boolean | true | 起動時に IDE ワークスペースに自動的に接続します。 |
falseしても、/ide コマンドを使用して手動で接続できます。 | |||
ide.open | boolean | true | 接続されている IDE でファイルの編集差分を開いてレビュー/承認します。 |
falseすると、ファイル編集の承認はターミナルにのみ表示されます。 | |||
include | boolean | true | エージェントによって行われた git コミットに Co-authored-by トレーラーを追加します。 |
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"に設定すると、ベース ブランチがフィーチャ ブランチにマージされます。 構成されていない場合は、ピッカー ダイアログが表示されます。 | |||
model | string | 変化する | 使用する AI モデル。 |
"auto"に設定すると、使用可能な最適なモデルCopilot自動的に選択できるようになります。 | |||
/modelスラッシュ コマンドによって管理されます。 | |||
mouse | boolean | true | マウスのサポートを有効にします。 |
--mouseまたは--no-mouseで設定することもできます。 | |||
permissions.disable | string | — | |
"disable"に設定すると、すべての許可フラグ (--allow-all-tools、--allow-all-paths、--allow-all-urls、--allow-all、--yolo) は起動時に抑制され、昇格されたアクセス許可を付与するために使用することはできません。 | |||
powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | 起動時に PowerShell に渡されるフラグ。 Windowsでは、CLI は PowerShell 7 以降 (pwsh) を優先し、powershell.exe が使用できない場合は、Windows PowerShell (pwsh) にフォールバックします。 Windows のみ。 |
remote | |||
"on" | |||
| | | |||
"off" | |||
"on" | セッションの同期とリモート アクセスを制御します。 セッション データのみをローカルに保ち、リモート コントロールを無効にするには、 "off" に設定します。 | ||
--remoteまたは--no-remoteで設定することもできます。 | |||
renderMarkdown | boolean | true | ターミナル出力で Markdown をレンダリングします。 |
remoteExport | boolean | true | セッション同期が使用可能な場合は、セッションをリモートでエクスポートします。 既定でリモート エクスポートをオプトアウトするには、 false に設定します。 |
remoteSessionsまたはtrue フラグに設定した場合でも、--remote設定では、この設定に関係なくエクスポートとステアリングが有効になります。 | |||
respectGitignore | boolean | true | |
@ ファイルメンション ピッカーから gitignored ファイルを除外します。 | |||
falseすると、ピッカーには通常、.gitignoreによって除外されるファイルが含まれます。 | |||
screenReader | boolean | false | スクリーン リーダーの最適化を有効にします。 |
showTipsOnStartup | boolean | true | CLI の起動時にランダムなコマンド ヒントを表示します。 |
skillDirectories | string[] | [] | カスタム スキル定義を検索する追加のディレクトリ ( ~/に加えて)。 |
statusLine | object | — | カスタムのステータスラインの表示。 |
type: "command"でなければなりません。 | |||
command: stdin でセッション JSON を受け取り、状態コンテンツを stdout に出力する実行可能スクリプトへのパス。 | |||
padding: 省略可能な左埋めスペースの数。 | |||
store | boolean | false | システム キーチェーンが使用できない場合に、認証トークンをプレーン テキストで config.json に格納できるようにします。 |
stream | boolean | true | ストリーミング応答を有効にします。 |
streamerMode | boolean | false | プレビュー モデル名とクォータの詳細を非表示にします。 |
| Copilot CLI (コパイロット CLI)または画面共有を示すときに便利です。 | |||
subagents.agents | object | {} | エージェント名でキー指定されたエージェントごとのモデル構成。 各値は、省略可能な model (文字列)、 effortLevel (文字列)、および contextTier ("default"、 "long_context"、または "inherit") フィールドを持つオブジェクトです。 ディスパッチ時に親セッションの値を使用するには、任意のフィールドを "inherit" に設定します。 これらの設定を対話形式で構成するには、 /subagents スラッシュ コマンドを使用します。 |
subagents.disabled | string[] | [] | ディスパッチ対象から除外するエージェント名。 |
explore、task、およびrubber-duckエージェントを無効にすることはできません。 | |||
tabs.enabled | boolean | true | ホーム タブ バーを表示します。 完全に非表示にするには、 false に設定します。 |
tabs.hide | string[] | [] | 非表示にするタブ識別子。 使用可能な値: "copilot"、"agents"、"issues"、"pull-requests"、"gists"(大文字と小文字を区別せずに照合されます)。 |
tabs.sort | string[] | [] | タブが表示される順序。 一覧にないタブは、リストされているタブの後に既定の相対順序を保持します。 不明な識別子は無視されます。 |
terminalProgress | boolean | true | エージェントの作業中に、OSC 9;4 のターミナル進捗インジケーターを出力します。 サポートされるターミナルには、Windows ターミナル、iTerm2、Ghostty、ConEmu などがあります。 |
theme | |||
"auto" | |||
| | | |||
"dark" | |||
| | | |||
"light" | |||
"auto" | ターミナルの色のテーマ。 | ||
"auto" はターミナルの背景を検出し、それに応じて選択します。 | |||
update | boolean | true | ターミナル タブまたはウィンドウ のタイトルに現在の意図を表示します。 |
リポジトリの設定 (.github/copilot/settings.json)
リポジトリの設定は、リポジトリ内で作業するすべてのユーザーに適用されます。 これらはリポジトリにコミットされ、コラボレーターと共有されます。
メモ
リポジトリ構成ファイル (enabledPlugins および extraKnownMarketplaces) 内のプラグイン関連のキーも、Copilot クラウドエージェントだけでなく、Copilot CLI (コパイロット CLI)によって読み取られます。 これにより、1 つのファイルから両方のクライアントに対して同じプラグインを有効にすることができます。 プラグインの詳細については、 GitHub Copilot プラグインについて を参照してください。
リポジトリ レベルでは、次の表に示すキーのみがサポートされています。 その他のキー (ユーザー構成ファイルで有効なキーを含む) は、暗黙的に無視されます。
| 鍵 | タイプ | マージ動作 | 説明 |
|---|---|---|---|
company | string[] | 置き換え — リポジトリが優先されます | 起動時にランダムに表示されるメッセージ。 |
disableAllHooks | boolean | リポジトリが優先されます | すべてのフックを無効にします。 |
enabledPlugins | Record<string, boolean> | マージ - リポジトリが同じキーのユーザーをオーバーライドする | 宣言型プラグインの自動インストール。 |
extra | Record<string, {...}> | マージ - リポジトリが同じキーのユーザーをオーバーライドする | このリポジトリで利用できるプラグイン マーケットプレース。 |
hooks | object | 連結—リポジトリのフックはユーザーフックの後に実行されます | このリポジトリにスコープが設定された定義をフックします。 「GitHub Copilot CLI(コマンドラインインターフェース) でフックを使用する」を参照してください。 |
mergeStrategy | |||
"rebase" | |||
| | | |||
"merge" | |||
| リポジトリが優先されます | |||
/pr fix conflictsの競合解決戦略。 |
ローカル設定 (.github/copilot/settings.local.json)
コミットすべきでない個人用オーバーライドの .github/copilot/settings.local.json をリポジトリに作成します。 このファイルを .gitignoreに追加します。
ローカル構成ファイルは、リポジトリ構成ファイル (.github/copilot/settings.json) と同じスキーマを使用し、そのスキーマよりも優先されます。