# GITHUB COPILOT CLI コマンド リファレンス

Copilot CLI (コパイロット CLI)を効果的に使用するのに役立つコマンドとキーボード ショートカットを見つけます。

## コマンドラインコマンド

| 命令                     | Purpose                                                                                                                   |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `copilot`              | 対話型ユーザー インターフェイスを起動します。                                                                                                   |
| `copilot help [TOPIC]` | ヘルプ情報を表示します。 ヘルプ トピックには、 `config`、 `commands`、 `environment`、 `logging`、 `monitoring`、 `permissions`、 `providers`などがあります。 |
| `copilot init`         | このリポジトリ Copilot カスタム命令を初期化します。                                                                                            |
| `copilot login`        | OAuth デバイス フローを使用して Copilot で認証します。                                                                                       |

```
          `--host HOST` を受け入れてホスト URL を指定します (既定値: GitHub)。 |
```

\| `copilot login` \[OPTION] | OAuth デバイス フローを使用して Copilot で認証します。
[
`copilot login`オプション](#copilot-login-options)を参照してください。 |
\| `copilot mcp`          | コマンド ラインから MCP サーバー構成を管理します。 |
\| `copilot plugin`       | プラグインとプラグイン マーケットプレースを管理します。            |
\| `copilot update`       | 最新バージョンをダウンロードしてインストールします。           |
\| `copilot version`      | バージョン情報を表示し、更新プログラムを確認します。 |

###

```
          `copilot login` のオプション
```

| オプション         | Purpose |
| ------------- | ------- |
| `--host HOST` |         |

```
          GitHub ホスト URL (既定値: `https://github.com`)。 これを使用して、データ所在地 (たとえば、GitHub Enterprise Cloud) を使用する`https://example.ghe.com` インスタンスで認証します。 |
```

\| `--config-dir PATH` | 構成ディレクトリを設定します (既定値: `~/.copilot`)。                                   |

既定の認証モードは、Web ベースのブラウザー フローです。 完了後、認証トークンはシステム資格情報ストアに安全に格納されます。 資格情報ストアが見つからない場合、トークンは `~/.copilot/` のプレーン テキスト構成ファイルに格納されます。

または、 Copilot CLI (コパイロット CLI) は環境変数に含まれる認証トークンを使用します。
`COPILOT_GITHUB_TOKEN`、`GH_TOKEN`、`GITHUB_TOKEN`の順にチェックされます。 この方法は、自動化などのヘッドレス使用に最適です。

サポートされているトークンの種類には、"Copilot Requests" アクセス許可を持つ fine-grained personal access tokens (v2 PAT)、 Copilot CLI アプリからの OAuth トークン、 GitHub CLI (`gh`) アプリからの OAuth トークンが含まれます。 クラシック personal access tokens (`ghp_`) はサポートされていません。

```
          **例:**
```

```shell
# Authenticate with github.com
copilot login

# Authenticate with GitHub Enterprise Cloud (data residency)
copilot login --host https://example.ghe.com

# Use a fine-grained PAT via environment variable
COPILOT_GITHUB_TOKEN=github_pat_... copilot
```

## 対話型インターフェイスのグローバル ショートカット

| Shortcut     | Purpose              |
| ------------ | -------------------- |
| `@ FILENAME` | コンテキストにファイルの内容を含めます。 |
| `# NUMBER`   |                      |

```
          GitHubの問題またはプル要求をコンテキストに含めます。 |
```

\| `! COMMAND`                         |
Copilotをバイパスして、ローカル シェルでコマンドを実行します。 |
\| `?`                                 | (空のプロンプトで) クイック ヘルプを開きます。 |
\| <kbd>Esc</kbd>                      | 現在の操作を取り消します。         |
\| <kbd>Ctrl</kbd>+<kbd>C</kbd>        | 操作の取り消し/入力のクリア。 2 回押して終了します。 |
\| <kbd>Ctrl</kbd>+        | シャットダウンする                             |
\| <kbd> </kbd>
\+
\| 外部エディター (`$EDITOR`) でプロンプトを編集します。 |
\| <kbd> </kbd>
\+
\| 画面をクリアします。                     |
\| + <kbd>Enter</kbd> または <kbd>Ctrl</kbd>+<kbd>Q</kbd> | エージェントが忙しいときに送信するメッセージをキューに入れます。 |
\| <kbd> </kbd>
\+
\| コマンド履歴を逆検索します。 |
\| <kbd>Ctrl</kbd>+<kbd>V</kbd> | クリップボードから添付ファイルとして貼り付けます。 |
\| <kbd> </kbd>
\+ <kbd> </kbd>
\| プロンプトの入力を開始すると、スラッシュ コマンドを実行できます。たとえば、プロンプトを再入力せずにモデルを変更する場合などです。 |
\| <kbd> </kbd>
\+ <kbd> </kbd>
\| 外部エディター (`$EDITOR`) でプロンプトを編集します。 |
\| <kbd> </kbd>
\+ <kbd> </kbd>
\| タイムラインから最新のリンクを開きます。 |
\| <kbd>Ctrl</kbd> + <kbd>Z</kbd>        | プロセスをバックグラウンドで中断します (Unix)。 |
\| + <kbd>Enter</kbd> または <kbd>Option</kbd>+<kbd>Enter</kbd> (Mac) / <kbd>Alt</kbd>+<kbd>Enter</kbd> (Windows/Linux) | 入力に改行を挿入します。 |
\| <kbd>Shift</kbd>+<kbd>タブ</kbd>     | 標準モード、プラン モード、オートパイロット モードの間を循環します。 |

## 対話型インターフェイスのタイムライン ショートカット

| Shortcut                            | Purpose                                                         |
| ----------------------------------- | --------------------------------------------------------------- |
| <kbd>Ctrl</kbd>+ + <kbd>O</kbd>     | プロンプト入力には何もありませんが、これにより、 Copilotの応答タイムラインの最近の項目が展開され、詳細が表示されます。 |
| <kbd>Ctrl</kbd>+<kbd>E</kbd>        | プロンプト入力には何もありませんが、これにより、 Copilotの応答タイムライン内のすべての項目が展開されます。       |
| <kbd>Ctrl</kbd>+<kbd>T</kbd>        | 応答内の推論の表示を展開/折りたたむ。                                             |
| <kbd>ページアップ</kbd>/<kbd>ページダウン</kbd> | タイムラインを 1 ページ上または下にスクロールします。                                    |

## 対話型インターフェイスのナビゲーション ショートカット

| Shortcut                     | Purpose           |
| ---------------------------- | ----------------- |
| <kbd>Ctrl</kbd>+<kbd>A</kbd> | 行の先頭に移動します (入力時)。 |
| <kbd>Ctrl</kbd>+<kbd>B</kbd> | 前の文字に移動します。       |
| <kbd>Ctrl</kbd>+<kbd>E</kbd> | 行の末尾に移動します (入力時)。 |
| <kbd>                        |                   |

```
          </kbd>
          +
                | 次の文字に移動します。                  |
```

\| <kbd> </kbd>
\+
\| 前の文字を削除します。               |
\| <kbd>Ctrl</kbd>+<kbd>K</kbd>        | カーソルから行の末尾まで削除します。 カーソルが行の末尾にある場合は、改行を削除します。 |
\| <kbd>Ctrl</kbd>+        | カーソル位置から行の先頭まで削除します。 |
\| <kbd>Ctrl</kbd>+<kbd>W</kbd>        | 前の単語を削除します。                    |
\| <kbd>Home</kbd>                     | テキストの先頭に移動します。               |
\| <kbd>終了</kbd>                      | テキストの末尾に移動します。                 |
\| <kbd>Alt</kbd>+<kbd>←</kbd>/<kbd>→</kbd> (Windows/Linux)<br> <kbd>オプション</kbd>+<kbd>←</kbd>/<kbd>→</kbd> (Mac) | カーソルを単語単位で移動します。             |
\| <kbd>↑</kbd>/<kbd>↓</kbd>           | コマンド履歴に移動します。                |

## 対話型インターフェース内のスラッシュコマンド

| 命令                                                                                                                      | Purpose                                                                                                                                                                                  |
| ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/add-dir PATH`                                                                                                         | ファイル アクセスの許可リストにディレクトリを追加します。                                                                                                                                                            |
| `/agent`                                                                                                                | 使用可能なエージェント (存在する場合) を参照して選択します。 「[カスタム エージェントについて](/ja/copilot/concepts/agents/copilot-cli/about-custom-agents)」を参照してください。                                                              |
| `/ask QUESTION`                                                                                                         | 会話履歴に追加せずに、簡単な側面の質問をします。 実験モードでのみ使用できます。                                                                                                                                                 |
| `/allow-all [on\|off\|show]`、`/yolo [on\|off\|show]`                                                                    | すべてのアクセス許可 (ツール、パス、URL) を有効にします。                                                                                                                                                         |
| `/changelog [summarize] [VERSION\|last N\|since VERSION]`、`/release-notes [summarize] [VERSION\|last N\|since VERSION]` | CLI 変更ログを表示します。 必要に応じて、バージョン、最近のリリースの数、または開始バージョンを指定します。 AI によって生成された概要のキーワード `summarize` を追加します。                                                                                        |
| `/chronicle <standup\|tips\|improve\|reindex>`                                                                          | セッション履歴ツールと分析情報。 実験モードでのみ使用できます。                                                                                                                                                         |
| `/clear [PROMPT]`、`/new [PROMPT]`、`/reset [PROMPT]`                                                                     | 新しい会話を開始します。                                                                                                                                                                             |
| `/compact`                                                                                                              | 会話履歴を要約して、コンテキスト ウィンドウの使用量を減らします。 「[でコンテキストを管理する GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/concepts/agents/copilot-cli/context-management#compaction)」を参照してください。                  |
| `/context`                                                                                                              | コンテキスト ウィンドウのトークンの使用状況と視覚化を表示します。 「[でコンテキストを管理する GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/concepts/agents/copilot-cli/context-management#checking-your-context-usage)」を参照してください。 |
| `/copy`                                                                                                                 | 最後の応答をクリップボードにコピーします。                                                                                                                                                                    |
| `/cwd`、`/cd [PATH]`                                                                                                     | 作業ディレクトリを変更するか、現在のディレクトリを表示します。                                                                                                                                                          |
| `/delegate [PROMPT]`                                                                                                    | AI によって生成されたプル要求を使用して、リモート リポジトリに変更を委任します。 「[GitHub Copilot CLI（コマンドラインインターフェース）にタスクを委任](/ja/copilot/how-tos/copilot-cli/use-copilot-cli-agents/delegate-tasks-to-cca)」を参照してください。        |
| `/diff`                                                                                                                 | 現在のディレクトリで行われた変更を確認します。                                                                                                                                                                  |
| `/env`                                                                                                                  | 読み込まれた環境の詳細 (命令、MCP サーバー、スキル、エージェント、プラグイン、LSP、拡張機能) を表示します。                                                                                                                              |
| `/exit`、`/quit`                                                                                                         | CLI を終了します。                                                                                                                                                                              |
| `/experimental [on\|off\|show]`                                                                                         | 試験段階の機能の切り替え、設定、または表示を行います。                                                                                                                                                              |
| `/feedback`、`/bug`                                                                                                      | CLI に関するフィードバックを提供します。                                                                                                                                                                   |
| `/fleet [PROMPT]`                                                                                                       | タスクの一部の並列サブエージェント実行を有効にします。 「[\`/fleet\` コマンドを使用したタスクの並列実行](/ja/copilot/concepts/agents/copilot-cli/fleet)」を参照してください。                                                                    |
| `/help`                                                                                                                 | 対話型コマンドのヘルプを表示します。                                                                                                                                                                       |
| `/ide`                                                                                                                  | IDE ワークスペースに接続します。 「[GitHub Copilot CLI（コマンドラインインターフェース）をVS Codeに接続する](/ja/copilot/how-tos/copilot-cli/connecting-vs-code#managing-the-connection-with-the-ide-slash-command)」を参照してください。 |
| `/init`                                                                                                                 | このリポジトリ Copilot カスタム命令とエージェント機能を初期化します。                                                                                                                                                  |

```
          [「プロジェクト初期化」Copilot](#project-initialization-for-copilot)を参照してください。 |
```

\| `/instructions`                                     | カスタム命令ファイルを表示および切り替えます。 |
\| `/keep-alive [on\|busy\|NUMBERm\|NUMBERh]`          | CLI セッションがアクティブな間、エージェントがビジー状態の間、または定義された時間の間、マシンがスリープ状態にならないようにします。 実験モードでのみ使用できます。 |
\| `/list-dirs`                                        | ファイル アクセスが許可されているすべてのディレクトリを表示します。 |
\| `/login`                                            |
Copilotにログインします。 |
\| `/logout`                                           |
Copilotからログアウトします。 |
\| `/lsp [show\|test\|reload\|help] [SERVER-NAME]`     | 言語サーバーの構成を管理します。 |
\| `/mcp [show\|add\|edit\|delete\|disable\|enable\|auth\|reload] [SERVER-NAME]` | MCP サーバー構成を管理します。 「[GitHub Copilot CLI（コマンドラインインターフェース） 用の MCP サーバーを追加する](/ja/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers#managing-mcp-servers)」を参照してください。 |
\| `/model`、`/models [MODEL]`                         | 使用する AI モデルを選択します。 |
\| `/plan [PROMPT]`                                    | コーディングする前に実装計画を作成します。 |
\| `/plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...]` | プラグインとプラグイン マーケットプレースを管理します。 「[GitHub Copilot CLI（コマンドラインインターフェース） のプラグインについて](/ja/copilot/concepts/agents/copilot-cli/about-cli-plugins)」を参照してください。 |
\| `/pr [view\|create\|fix\|auto]`                     | 現在のブランチのプル要求を管理します。 「[/pr コマンドを使用したプル要求の管理](/ja/copilot/how-tos/copilot-cli/manage-pull-requests)」を参照してください。 |
\| `/remote`                                           |
GitHub.comおよびGitHub Mobileからこのセッションへのリモート アクセスを有効にします。 「[別のデバイスからの GitHub Copilot CLI（コマンドラインインターフェース） セッションのステアリング](/ja/copilot/how-tos/copilot-cli/steer-remotely)」を参照してください。 |
\| `/rename [NAME]`                                    | 現在のセッションの名前を変更します (省略すると名前が自動生成されます。 `/session rename`のエイリアス)。 |
\| `/research TOPIC`                                   |
GitHub検索と Web ソースを使用して詳細な調査を実行します。 「[GitHub Copilot CLI（コマンドラインインターフェース） を用いた調査](/ja/copilot/concepts/agents/copilot-cli/research)」を参照してください。 |
\| `/reset-allowed-tools`                              | 許可されているツールの一覧をリセットします。 |
\| `/restart`                                          | 現在のセッションを保持して、CLI を再起動します。 |
\| `/resume [SESSION-ID]`、`/continue [SESSION-ID]`    | リストから選択して別のセッションに切り替えます (必要に応じてセッション ID を指定します)。 |
\| `/review [PROMPT]`                                  | コード レビュー エージェントを実行して変更を分析します。 「[を使用してコード レビューを要求する GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli/use-copilot-cli-agents/agentic-code-review)」を参照してください。 |
\| `/session [checkpoints [n]\|files\|plan\|rename NAME]`、`/sessions [checkpoints [n]\|files\|plan\|rename NAME]`  | セッション情報とワークスペースの概要を表示します。 詳細についてはサブコマンドを使用してください。 |
\| `/share [file\|html\|gist] [session\|research] [PATH]`、`/export [file\|html\|gist] [session\|research] [PATH]` | セッションを Markdown ファイル、対話型 HTML ファイル、または GitHub gist に共有します。 |
\| `/skills [list\|info\|add\|remove\|reload] [ARGS...]`   | 強化された機能のスキルを管理します。 「[エージェント スキルの追加 GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli/customize-copilot/create-skills)」を参照してください。 |
\| `/statusline`、`/footer`                            | ステータス行に表示する項目を構成します。 |
\| `/tasks`                                            | バックグラウンド タスク (サブエージェントとシェル セッション) を表示および管理します。 |
\| `/terminal-setup`      | 複数行入力をサポートするようにターミナルを構成します (<kbd>Shift</kbd>+<kbd>Enter</kbd> と <kbd>Ctrl</kbd>+<kbd>Enter</kbd>)。 |
\| `/theme [default\|dim\|high-contrast\|colorblind]`   | カラー モードを表示または設定します。 |
\| `/undo`、`/rewind`                                  | 最後のターンを巻き戻し、ファイルの変更を元に戻します。 |
\| `/update`、`/upgrade`                               | CLI を最新バージョンに更新します。 |
\| `/usage`                                            | セッション使用状況のメトリックと統計情報を表示します。 |
\| `/user [show\|list\|switch]`                        | 現在の GitHub ユーザーを管理します。 |
\| `/version`                                          | バージョン情報を表示し、更新プログラムを確認します。 |

使用可能なスラッシュ コマンドの完全な一覧については、CLI の対話型インターフェイスに「 `/help` 」と入力します。

## コマンド ライン オプション

| オプション                              | Purpose                                                                                        |
| ---------------------------------- | ---------------------------------------------------------------------------------------------- |
| `--add-dir=PATH`                   | ファイル アクセスの許可リストにディレクトリを追加します (複数回使用できます)。                                                      |
| `--add-github-mcp-tool=TOOL`       | 既定の CLI サブセットではなく、 GitHub MCP サーバーに対して有効にするツールを追加します (複数回使用できます)。 すべてのツールに `*` を使用します。         |
| `--add-github-mcp-toolset=TOOLSET` | 既定の CLI サブセットではなく、 GitHub MCP サーバーに対して有効にするツールセットを追加します (複数回使用できます)。 すべてのツールセットに `all` を使用します。 |
| `--additional-mcp-config=JSON`     | このセッション専用の MCP サーバーを追加します。 サーバー構成は、JSON 文字列またはファイル パス ( `@` プレフィックス) として指定できます。                |

```
          `~/.copilot/mcp-config.json`から構成を拡張します。 インストール済みの MCP サーバー構成を同じ名前でオーバーライドします。 「[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers)」を参照してください。 |
```

\| `--agent=AGENT`                    | 使用する カスタム エージェント を指定します。 「[カスタム エージェントについて](/ja/copilot/concepts/agents/copilot-cli/about-custom-agents)」を参照してください。 |
\| `--allow-all`                      | すべてのアクセス許可 ( `--allow-all-tools --allow-all-paths --allow-all-urls`と同等) を有効にします。 |
\| `--allow-all-paths`                | ファイル パスの検証を無効にし、任意のパスへのアクセスを許可します。 |
\| `--allow-all-tools`                | すべてのツールを確認なしで自動的に実行できるようにします。 CLI をプログラムで使用する場合は必須 (env: `COPILOT_ALLOW_ALL`)。 |
\| `--allow-all-urls`                 | 確認なしですべての URL へのアクセスを許可します。 |
\| `--allow-tool=TOOL ...`            | CLI が使用する権限を持っているツール。 アクセス許可を求めるメッセージは表示されません。 複数のツールの場合は、引用符で囲まれたコンマ区切りのリストを使用します。 「[ツールの使用の許可と拒否](/ja/copilot/how-tos/copilot-cli/allowing-tools#allowing-or-denying-permission-for-specific-tools)」を参照してください。 |
\| `--allow-url=URL ...`              | 特定の URL またはドメインへのアクセスを許可します。 複数の URLは、引用符で囲まれたコンマ区切りのリストを使用します。 |
\| `--autopilot`                      | プロンプトモードでオートパイロットを続行可能にします。 「[GitHub Copilot CLI が自律的に動作できるようにする](/ja/copilot/concepts/agents/copilot-cli/autopilot)」を参照してください。 |
\| `--available-tools=TOOL ...`       | モデルで使用できるのは、これらのツールのみです。 複数のツールの場合は、引用符で囲まれたコンマ区切りのリストを使用します。 「[ツールの使用の許可と拒否](/ja/copilot/how-tos/copilot-cli/allowing-tools)」を参照してください。 |
\| `--banner`、`--no-banner`          | スタートアップ バナーを表示または非表示にします。 |
\| `--bash-env`                       | bash シェル `BASH_ENV` サポートを有効にします。 |
\| `--config-dir=PATH`         | 構成ディレクトリを設定します (既定値: `~/.copilot`)。 |
\| `--connect[=SESSION-ID]`           | リモート セッションに直接接続します (必要に応じて、セッション ID またはタスク ID を指定します)。
`--resume`と`--continue`との競合。 |
\| `--continue`                       | 最新のセッションを再開します。 |
\| `--deny-tool=TOOL ...`             | CLI が使用する権限を持たないツール。 アクセス許可を求めるメッセージは表示されません。 複数のツールの場合は、引用符で囲まれたコンマ区切りのリストを使用します。 |
\| `--deny-url=URL ...`               | 特定の URL またはドメインへのアクセスを拒否すると、 `--allow-url`よりも優先されます。 複数の URLは、引用符で囲まれたコンマ区切りのリストを使用します。 |
\| `--disable-builtin-mcps`           | すべての組み込み MCP サーバー (現在: `github-mcp-server`) を無効にします。 |
\| `--disable-mcp-server=SERVER-NAME` | 特定の MCP サーバーを無効にします (複数回使用できます)。 |
\| `--disallow-temp-dir`              | システム一時ディレクトリへの自動アクセスを禁止します。 |
\| `--effort=LEVEL`、`--reasoning-effort=LEVEL` | 理由の作業レベル (`low`、 `medium`、 `high`) を設定します。 |
\| `--enable-all-github-mcp-tools`    | 既定の CLI サブセットではなく、すべての GitHub MCP サーバー ツールを有効にします。
`--add-github-mcp-toolset`オプションと`--add-github-mcp-tool`オプションをオーバーライドします。 |
\| `--enable-reasoning-summaries`     | それをサポートする OpenAI モデルの推論の概要を要求します。 |
\| `--excluded-tools=TOOL ...`        | これらのツールはモデルでは使用できません。 複数のツールの場合は、引用符で囲まれたコンマ区切りのリストを使用します。 |
\| `--experimental`                   | 試験的な機能を有効にする ( `--no-experimental` を使用して無効にする)。 |
\| `-h`、`--help`                     | ヘルプを表示します。 |
\| `-i PROMPT`、`--interactive=PROMPT`  | 対話型セッションを開始し、このプロンプトを自動的に実行します。 |
\| `--log-dir=DIRECTORY`              | ログ ファイル ディレクトリを設定します (既定値: `~/.copilot/logs/`)。 |
\| `--log-level=LEVEL`                | ログ レベル ( `none`、 `error`、 `warning`、 `info`、 `debug`、 `all`、 `default`) を設定します。 |
\| `--max-autopilot-continues=COUNT`  | オートパイロット モードでの継続メッセージの最大数 (既定値: 無制限)。 「[GitHub Copilot CLI が自律的に動作できるようにする](/ja/copilot/concepts/agents/copilot-cli/autopilot)」を参照してください。 |
\| `--mode=MODE`                      | 初期エージェント モード ( `interactive`、 `plan`、 `autopilot`) を設定します。
`--autopilot`または`--plan`と組み合わせることはできません。 |
\| `--model=MODEL`                    | 使用する AI モデルを設定します。
`auto`を渡して、使用可能な最適なモデルCopilot自動的に選択できるようにします。 |
\| `--mouse[=VALUE]`                  | 代替画面モードでマウスサポートを有効にします。 VALUE は、 `on` (既定値) または `off`できます。 有効にすると、CLI は代替画面モード (スクロール ホイール、クリックなど) でマウス イベントをキャプチャします。無効にすると、ターミナルのネイティブ マウス動作が保持されます。 設定が完了すると、構成ファイルに書き込まれ、設定が保持されます。|
\| `--no-ask-user`                    |
`ask_user` ツールを無効にします (エージェントは質問をせずに自律的に動作します)。 |
\| `--no-auto-update`                 | CLI 更新プログラムの自動的なダウンロードを無効にします。 |
\| `--no-bash-env`                    | bash シェル `BASH_ENV` サポートを無効にします。 |
\| `--no-color`                       | すべてのカラー出力を無効にします。 |
\| `--no-custom-instructions`         |
`AGENTS.md`および関連ファイルからのカスタム命令の読み込みを無効にします。 |
\| `--no-experimental`                | 試験的な機能を無効にします。 |
\| `--no-mouse`                       | マウスのサポートを無効にします。 |
\| `--no-remote`                      | このセッションのリモート アクセスを無効にします。 |
\| `--output-format=FORMAT`           | FORMAT は、 `text` (既定) または `json` (JSONL 出力: 1 行に 1 つの JSON オブジェクト) にすることができます。 |
\| `-p PROMPT`、`--prompt=PROMPT`     | プログラムでプロンプトを実行します (完了後に終了します)。 「[プログラムによる GitHub Copilot CLI（コマンドラインインターフェース） の実行](/ja/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically)」を参照してください。 |
\| `--plan`                           | プラン モードで開始します。
`--mode plan` の短縮形です。
`--mode`または`--autopilot`と組み合わせることはできません。 |
\| `--plain-diff`                     | リッチ差分レンダリングを無効にします (git 構成で指定された差分ツールを使用した構文の強調表示)。 |
\| `--plugin-dir=DIRECTORY`           | ローカル ディレクトリからプラグインを読み込みます (複数回使用できます)。 |
\| `--remote`                         |
GitHub.comおよびGitHub Mobileからこのセッションへのリモート アクセスを有効にします。 「[別のデバイスからの GitHub Copilot CLI（コマンドラインインターフェース） セッションのステアリング](/ja/copilot/how-tos/copilot-cli/steer-remotely)」を参照してください。 |
\| `--resume=SESSION-ID`              | 一覧から選択して、以前の対話型セッションを再開します (必要に応じて、セッション ID または 7 + 16 進文字の一意のプレフィックスを指定します)。 |
\| `-s`、`--silent`                   |
`-p`を使用したスクリプト作成に役立つ、エージェントの応答のみを出力します (使用状況統計なし)。 |
\| `--screen-reader`                  | スクリーン リーダーの最適化を有効にします。 |
\| `--secret-env-vars=VAR ...`        | シェルおよび MCP サーバー環境から環境変数を編集します (複数回使用できます)。 複数の変数の場合は、引用符で囲まれたコンマ区切りのリストを使用します。
`GITHUB_TOKEN`環境変数と`COPILOT_GITHUB_TOKEN`環境変数の値は、既定で出力から編集されます。 |
\| `--share=PATH`                     | プログラム セッションの完了後にセッションを Markdown ファイルに共有します (既定のパス: `./copilot-session-<ID>.md`)。 |
\| `--share-gist`                     | プログラムによるセッションの完了後に、シークレット ギスト GitHub にプログラムセッションを共有します。 |
\| `--stream=MODE`                    | ストリーミング モード (モードの選択肢: `on` または `off`) を有効または無効にします。 |
\| `-v`、`--version`                  | バージョン情報を表示します。 |
\| `--yolo`                           | すべてのアクセス許可 ( `--allow-all`と同等) を有効にします。 |

コマンドとオプションの完全な一覧については、 `copilot help`を実行します。

> \[!NOTE]

```
          `--remote`、`--no-remote`、および`--connect`オプションを使用するには、アカウントでリモート セッション機能を使用できる必要があります。
```

## ツールの可用性の値

```
          `--available-tools`と`--excluded-tools`のオプションでは、次の値がサポートされます。
```

### シェル ツール

| ツール名                              | 説明                     |
| --------------------------------- | ---------------------- |
| `bash` / `powershell`             | コマンドを実行する              |
| `read_bash` / `read_powershell`   | シェル セッションからの出力の読み取り    |
| `write_bash` / `write_powershell` | シェル セッションに入力を送信する      |
| `stop_bash` / `stop_powershell`   | シェル セッションを終了する         |
| `list_bash` / `list_powershell`   | アクティブなシェル セッションを一覧表示する |

### ファイル操作ツール

| ツール名          | 説明                                        |
| ------------- | ----------------------------------------- |
| `view`        | ファイルまたはディレクトリの読み取り                        |
| `create`      | 新しいファイルを作成する                              |
| `edit`        | 文字列置換を使用してファイルを編集する                       |
| `apply_patch` | パッチを適用する ( `edit`/`create`の代わりに一部のモデルで使用) |

### エージェントとタスクの委任ツール

| ツール名          | 説明                      |
| ------------- | ----------------------- |
| `task`        | サブエージェントの実行             |
| `read_agent`  | バックグラウンド エージェントの状態を確認する |
| `list_agents` | 使用可能なエージェントを一覧表示する      |

### その他のツール

| ツール名              | 説明                 |
| ----------------- | ------------------ |
| `grep` (または `rg`) | ファイル内のテキストを検索する    |
| `glob`            | パターンに一致するファイルを検索する |
| `web_fetch`       | ウェブコンテンツの取得と解析     |
| `skill`           | カスタム スキルを呼び出す      |
| `ask_user`        | ユーザーに質問する          |

## ツールのアクセス許可パターン

```
          `--allow-tool`オプションと`--deny-tool`オプションは、`Kind(argument)`形式のアクセス許可パターンを受け入れます。 引数は省略可能です。省略すると、その種類のすべてのツールと一致します。
```

| サブタイプ   | 説明          | パターンの例 |
| ------- | ----------- | ------ |
| `shell` | シェル コマンドの実行 |        |

```
          `shell(git push)`、`shell(git:*)`、`shell` |
```

\| `write` | ファイルの作成または変更 |
`write`、`write(src/*.ts)` |
\| `read` | ファイルまたはディレクトリの読み取り |
`read`、`read(.env)` |
\| SERVER-NAME | MCP サーバー ツールの呼び出し |
`MyMCP(create_issue)`、`MyMCP` |
\| `url` | Web フェッチまたはシェル経由の URL アクセス |
`url(github.com)`、`url(https://*.api.com)` |
\| `memory` | ファクトをエージェント のメモリに格納する | `memory` |

```
          `shell`ルールの場合、`:*`サフィックスはコマンド ステムと一致し、その後にスペースが続き、部分的な一致が防止されます。 たとえば、 `shell(git:*)` は `git push` と `git pull` に一致しますが、 `gitea`と一致しません。
```

拒否規則は、 `--allow-all` が設定されている場合でも、許可規則よりも常に優先されます。

```shell
# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool='MyMCP'
```

## 環境変数

| Variable                           | 説明                                                                                        |
| ---------------------------------- | ----------------------------------------------------------------------------------------- |
| `COPILOT_MODEL`                    | AI モデルを設定します。                                                                             |
| `COPILOT_ALLOW_ALL`                | すべてのアクセス許可を自動的に許可するように `true` に設定します ( `--allow-all`と同等)。                                 |
| `COPILOT_AUTO_UPDATE`              | 自動更新を無効にするには、 `false` に設定します。                                                             |
| `COPILOT_CUSTOM_INSTRUCTIONS_DIRS` | カスタム命令用の追加ディレクトリのコンマ区切りの一覧。                                                               |
| `COPILOT_SKILLS_DIRS`              | スキルの追加ディレクトリのコンマ区切りの一覧。                                                                   |
| `COPILOT_EDITOR`                   | 対話型編集のためのエディターコマンド（`$VISUAL` および `$EDITOR` の後にチェックされたもの）。 何も設定されていない場合、デフォルトで `vi` になります。 |
| `COPILOT_GITHUB_TOKEN`             | 認証トークン。                                                                                   |

```
          `GH_TOKEN`と`GITHUB_TOKEN`よりも優先されます。 |
```

\| `COPILOT_HOME` | 構成ディレクトリと状態ディレクトリをオーバーライドします。 既定値: `$HOME/.copilot`。 |
\| `COPILOT_CACHE_HOME` | キャッシュ ディレクトリ (Marketplace キャッシュ、自動更新パッケージ、およびその他のエフェメラル データに使用) をオーバーライドします。 プラットフォームの既定値については [、AUTOTITLE](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference#changing-the-location-of-the-configuration-directory) を参照してください。 |
\| `COPILOT_SUBAGENT_MAX_DEPTH` | サブエージェントの入れ子の深さの最大値。 既定値: `6`。 範囲: `1` – `256`。 |
\| `COPILOT_SUBAGENT_MAX_CONCURRENT` | セッション ツリー全体の同時サブエージェントの最大数。 既定値: `32`。 範囲: `1` – `256`。 |
\| `GH_TOKEN` | 認証トークン。
`GITHUB_TOKEN`よりも優先されます。 |
\| `GITHUB_TOKEN` | 認証トークン。 |
\| `USE_BUILTIN_RIPGREP` | バンドルされたバージョンの代わりにシステム ripgrep を使用するには、 `false` に設定します。 |
\| `PLAIN_DIFF` | リッチ差分レンダリングを無効にするには、 `true` に設定します。 |
\| `COLORFGBG` | 暗い/明るいターミナルの背景検出のためのフォールバック。 |

## 構成ファイルの設定

設定はユーザーからリポジトリ、そしてローカルへと階層的に適用され、より具体的なスコープがより一般的なスコープを上書きします。 コマンド ライン フラグと環境変数は常に最も高い優先順位を使用します。

| Scope | 場所                       | Purpose              |
| ----- | ------------------------ | -------------------- |
| User  | `~/.copilot/config.json` | すべてのリポジトリのグローバルな既定値。 |

```
          `COPILOT_HOME`環境変数を使用して、代替パスを指定します。 |
```

\| リポジトリ | `.github/copilot/settings.json` | 共有リポジトリの構成 (リポジトリにコミット)。 |
\| ローカル | `.github/copilot/settings.local.json` | 個人のオーバーライド (これを `.gitignore`に追加します)。 |

### ユーザー設定 (`~/.copilot/config.json`)

| 鍵             | タイプ        | デフォルト  | 説明                           |
| ------------- | ---------- | ------ | ---------------------------- |
| `allowedUrls` | `string[]` | `[]`   | URL またはドメインは、プロンプトなしで許可されます。 |
| `autoUpdate`  | `boolean`  | `true` | CLI の更新プログラムを自動的にダウンロードします。  |
| `banner`      |            |        |                              |

```
          `"always"`
          \|
          `"once"`
          \|
          `"never"`
         | `"once"` | アニメーションバナーの表示頻度。 |
```

\| `bashEnv` | `boolean` | `false` | bash シェル `BASH_ENV` サポートを有効にします。 |
\| `beep` | `boolean` | `true` | 注意が必要な場合は、聞こえるビープ音を鳴らします。 |
\| `compactPaste` | `boolean` | `true` | 大きな貼り付けをコンパクトトークンにまとめます。 |
\| `custom_agents.default_local_only` | `boolean` | `false` | ローカル カスタム エージェントのみを使用します。 |
\| `denied_urls` | `string[]` | `[]` | ブロックされた URL またはドメイン ( `allowed_urls`よりも優先されます)。 |
\| `experimental` | `boolean` | `false` | 試験的な機能を有効にします。 |
\| `includeCoAuthoredBy` | `boolean` | `true` | エージェントによって行われた git コミットに `Co-authored-by` トレーラーを追加します。 |
\| `companyAnnouncements` | `string[]` | `[]` | 起動時にランダムに表示されるカスタム メッセージ。 |
\| `logLevel` |
`"none"`
|
`"error"`
|
`"warning"`
|
`"info"`
|
`"debug"`
|
`"all"`
|
`"default"`
\| `"default"` | ログの冗長度。 |
\| `model` | `string` | 変化する | 使用する AI モデル ( `/model` コマンドを参照)。
`"auto"`に設定すると、使用可能な最適なモデルCopilot自動的に選択できるようになります。 |
\| `powershellFlags` | `string[]` | `["-NoProfile", "-NoLogo"]` | 起動時に PowerShell (`pwsh`) に渡されるフラグ。 Windowsのみ。 |
\| `effortLevel` | `string` | `"medium"` | 拡張思考の推論作業レベル (例: `"low"`、 `"medium"`、 `"high"`、 `"xhigh"`)。 レベルが高いほど、より多くのコンピューティングが使用されます。 |
\| `mergeStrategy` |
`"rebase"`
|
`"merge"`
\| — |
`/pr fix conflicts`の競合解決戦略。
`"rebase"`に設定すると、ベース ブランチにリベースすることで競合が解決されます。
`"merge"`に設定すると、ベース ブランチがフィーチャ ブランチにマージされます。 構成されていない場合は、ピッカー ダイアログが表示されます。 |
\| `renderMarkdown` | `boolean` | `true` | ターミナル出力で Markdown をレンダリングします。 |
\| `screenReader` | `boolean` | `false` | スクリーン リーダーの最適化を有効にします。 |
\| `stream` | `boolean` | `true` | ストリーミング応答を有効にします。 |
\| `storeTokenPlaintext` | `boolean` | `false` | システム キーチェーンが使用できない場合は、構成ファイルにプレーン テキストで認証トークンを格納します。 |
\| `streamerMode` | `boolean` | `false` | プレビュー モデル名とクォータの詳細を非表示にします ( Copilot CLI (コパイロット CLI)を示すときに役立ちます)。 |
\| `theme` |
`"auto"`
|
`"dark"`
|
`"light"`
\| `"auto"` | ターミナルの色のテーマ。 |
\| `mouse` | `boolean` | `true` | 代替画面モードでマウスサポートを有効にします。 |
\| `respectGitignore` | `boolean` | `true` |
`@` ファイル ピッカーから gitignored ファイルを除外します。 |
\| `disableAllHooks` | `boolean` | `false` | すべてのフックを無効にします。 |
\| `hooks` | `object` | — | インライン ユーザー レベルのフック定義。 |
\| `copyOnSelect` | `boolean` |
`true` (macOS)、 `false` (その他) | マウスで選択したテキストを、代替画面モードでシステム クリップボードに自動的にコピーします。 |
\| `statusLine` | `object` | — | カスタムのステータスラインの表示。
`type`: `"command"`でなければなりません。
`command`: stdin でセッション JSON を受け取り、状態コンテンツを stdout に出力するスクリプトへのパス。
`padding`: 省略可能な左埋めスペース。 |
\| `suppress_init_folders` | `string[]` | `[]` |
`/init`候補が無視されたフォルダー。
`/init suppress`によって自動的に管理されます。 |
\| `updateTerminalTitle` | `boolean` | `true` | ターミナル タイトルに現在の意図を表示します。 |

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

リポジトリの設定は、リポジトリ内で作業するすべてのユーザーに適用されます。 リポジトリ レベルでは、次の表に示すキーのみがサポートされています。 その他のキー (ユーザー構成ファイルで有効なキーを含む) は、暗黙的に無視されます。

| 鍵                        | タイプ                       | マージ動作                           | 説明                            |
| ------------------------ | ------------------------- | ------------------------------- | ----------------------------- |
| `companyAnnouncements`   | `string[]`                | 置き換え — リポジトリが優先されます             | 起動時にランダムに表示されるメッセージ。          |
| `disableAllHooks`        | `boolean`                 | リポジトリが優先されます                    | すべてのフックを無効にします。               |
| `enabledPlugins`         | `Record<string, boolean>` | マージ - リポジトリが同じキーのユーザーをオーバーライドする | 宣言型プラグインの自動インストール。            |
| `extraKnownMarketplaces` | `Record<string, {...}>`   | マージ - リポジトリが同じキーのユーザーをオーバーライドする | このリポジトリで利用できるプラグイン マーケットプレース。 |
| `hooks`                  | `object`                  | 連結—リポジトリのフックはユーザーフックの後に実行されます   | このリポジトリにスコープが設定された定義をフックします。  |

```
          [フックのリファレンスを参照してください](#hooks-reference)。 |
```

\| `mergeStrategy` |
`"rebase"`
|
`"merge"`
\| リポジトリが優先されます |
`/pr fix conflicts`の競合解決戦略。 |

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

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

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

##

```
          Copilot のプロジェクト初期化
```

対話型セッション内でコマンド `copilot init`またはスラッシュ コマンド `/init` を使用すると、 Copilot はコードベースを分析し、リポジトリ内の `.github/copilot-instructions.md` ファイルを書き込みまたは更新します。 このカスタム命令ファイルには、将来の CLI セッションを改善するプロジェクト固有のガイダンスが含まれています。

通常は、新しいプロジェクトを開始するとき、または既存のリポジトリで`copilot init`の使用を開始するときに、`/init`またはCopilot CLI (コパイロット CLI)を使用します。

通常、作成または更新された `copilot-instructions.md` ファイルは、次のドキュメントを作成または更新します。

* コマンドのビルド、テスト、およびリント。
* ハイレベルアーキテクチャ
* コードベース固有の規則。

ファイルが既に存在する場合、 Copilot は、適用または拒否を選択できる機能強化を提案します。

CLI は起動時に `copilot-instructions.md` ファイルを検索し、見つからない場合はメッセージを表示します。

>

```
          💡 副操縦命令が見つかりませんでした。 /init を実行して、このプロジェクトの copilot-instructions.md ファイルを生成します。
```

このファイルを作成しない場合は、 `/init suppress` スラッシュ コマンドを使用してこのスタートアップ メッセージを完全に非表示にすることができます。これにより、このリポジトリの `suppress_init_folders` 設定が Copilot 構成ファイルに追加されます。

詳細については、「[GitHub Copilot用のリポジトリカスタム命令の追加](/ja/copilot/how-tos/configure-custom-instructions/add-repository-instructions)」を参照してください。

## フック リファレンス

フックは、セッション中に特定のライフサイクル ポイントで実行される外部コマンドであり、カスタム自動化、セキュリティ制御、統合を有効にします。 フック構成ファイルは、リポジトリ内の `.github/hooks/*.json` から自動的に読み込まれます。

### フック構成形式

フック構成ファイルでは、バージョン `1`で JSON 形式が使用されます。

#### コマンド フック

コマンド フックはシェル スクリプトを実行し、すべての種類のフックでサポートされています。

```json
{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
```

| フィールド  | タイプ         | 必須 | 説明 |
| ------ | ----------- | -- | -- |
| `type` | `"command"` | はい |    |

```
          `"command"`である必要があります。 |
```

\| `bash` | 文字列 | の 1 つ `bash`/`powershell` | Unix のシェル コマンド。 |
\| `powershell` | 文字列 | の 1 つ `bash`/`powershell` | Windowsのシェル コマンド。 |
\| `cwd` | 文字列 | いいえ | コマンドの作業ディレクトリ (リポジトリルートまたは絶対ディレクトリに対する相対ディレクトリ)。 |
\| `env` | オブジェクト | いいえ | 設定する環境変数 (変数拡張をサポート)。 |
\| `timeoutSec` | 数値 | いいえ | タイムアウト (秒単位)。 既定値: `30`。 |

#### プロンプト フック

プロンプトは、ユーザーが入力したかのように自動送信テキストをフックします。 これらは、 `sessionStart` でのみサポートされ、 `--prompt`経由で最初のプロンプトが渡される前に実行されます。 テキストには、自然言語プロンプトまたはスラッシュ コマンドを指定できます。

```json
{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "prompt",
        "prompt": "Your prompt text or /slash-command"
      }
    ]
  }
}
```

| フィールド  | タイプ        | 必須 | 説明 |
| ------ | ---------- | -- | -- |
| `type` | `"prompt"` | はい |    |

```
          `"prompt"`である必要があります。 |
```

\| `prompt` | 文字列 | はい | 送信するテキストは、自然言語メッセージまたはスラッシュ コマンドです。 |

### フック イベント

| イベント                  | 次の場合に起動します。                                                                                                    | 処理された出力                                                            |
| --------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| `sessionStart`        | 新しいセッションまたは再開されたセッションが開始されます。                                                                                  | いいえ                                                                |
| `sessionEnd`          | セッションが終了します。                                                                                                   | いいえ                                                                |
| `userPromptSubmitted` | ユーザーがプロンプトを送信します。                                                                                              | いいえ                                                                |
| `preToolUse`          | 各ツールが実行される前。                                                                                                   | はい — 許可、拒否、または変更できます。                                              |
| `postToolUse`         | 各ツールが正常に完了した後。                                                                                                 | はい — 成功した結果を置き換えることができます (SDK プログラムフックのみ)。                         |
| `postToolUseFailure`  | ツールがエラーで完了した後。                                                                                                 | はい — `additionalContext` を介して復旧ガイダンスを提供できます (コマンド フックの終了コード `2` )。 |
| `agentStop`           | メイン エージェントがターンを終了します。                                                                                          | はい — 継続をブロックして強制できます。                                              |
| `subagentStop`        | サブエージェントが作業を完了しました。                                                                                            | はい — 継続をブロックして強制できます。                                              |
| `subagentStart`       | サブエージェントが生成されます (実行前)。 サブエージェントのプロンプトの前に付加された `additionalContext` を返します。 エージェント名でフィルター処理する `matcher` をサポートします。 | いいえ — 作成をブロックできません。                                                |
| `preCompact`          | コンテキストの圧縮が開始されようとしています (手動または自動)。 トリガー (`matcher`または`"manual"`) によってフィルターをするための`"auto"`をサポートします。               | いいえ - 通知のみ。                                                        |
| `permissionRequest`   | ユーザーにアクセス許可ダイアログを表示する前に、ルールベースのチェックの後に、一致する許可または拒否ルールが見つかりません。                                                 |                                                                    |

```
          `matcher`
          `toolName`正規表現をサポートします。 | はい — プログラムで許可または拒否できます。 |
```

\| `errorOccurred` | 実行中にエラーが発生します。 | いいえ |
\| `notification` | CLI がシステム通知 (シェルの完了、エージェントの完了またはアイドル状態、アクセス許可プロンプト、引き出しダイアログ) を出力すると非同期的に起動します。 Fire-and-forget: セッションをブロックしません。
`matcher`
`notification_type`正規表現をサポートします。 | 省略可能 — セッションに `additionalContext` を挿入できます。 |

### フック イベント入力ペイロード

各フック イベントは、フック ハンドラーに JSON ペイロードを配信します。 フック構成で使用されるイベント名によって選択される 2 つのペイロード形式がサポートされています。

* **camelCase 形式 — camelCase** でイベント名を構成します (例: `sessionStart`)。 フィールドには camelCase が使用されます。
* **互換性のある形式VS Code** — PascalCase でイベント名を構成します (例: `SessionStart`)。 フィールドはsnake\_caseを使用してVS CodeCopilotの拡張形式と一致させます。

#### `sessionStart` / `SessionStart`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;      // Unix timestamp in milliseconds
    cwd: string;
    source: "startup" | "resume" | "new";
    initialPrompt?: string;
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "SessionStart";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    source: "startup" | "resume" | "new";
    initial_prompt?: string;
}
```

#### `sessionEnd` / `SessionEnd`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    reason: "complete" | "error" | "abort" | "timeout" | "user_exit";
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "SessionEnd";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    reason: "complete" | "error" | "abort" | "timeout" | "user_exit";
}
```

#### `userPromptSubmitted` / `UserPromptSubmit`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    prompt: string;
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "UserPromptSubmit";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    prompt: string;
}
```

#### `preToolUse` / `PreToolUse`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    toolName: string;
    toolArgs: unknown;
}
```

```
          **
          VS Code 互換性のある入力:**
```

PascalCase イベント名 `PreToolUse`で構成されている場合、ペイロードはsnake\_caseフィールド名を使用して、 VS CodeCopilot 拡張形式と一致します。

```typescript
{
    hook_event_name: "PreToolUse";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    tool_name: string;
    tool_input: unknown;    // Tool arguments (parsed from JSON string when possible)
}
```

#### `postToolUse` / `PostToolUse`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    toolName: string;
    toolArgs: unknown;
    toolResult: {
        resultType: "success";
        textResultForLlm: string;
    }
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "PostToolUse";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    tool_name: string;
    tool_input: unknown;
    tool_result: {
        result_type: "success" | "failure" | "denied" | "error";
        text_result_for_llm: string;
    }
}
```

#### `postToolUseFailure` / `PostToolUseFailure`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    toolName: string;
    toolArgs: unknown;
    error: string;
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "PostToolUseFailure";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    tool_name: string;
    tool_input: unknown;
    error: string;
}
```

#### `agentStop` / `Stop`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    transcriptPath: string;
    stopReason: "end_turn";
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "Stop";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    transcript_path: string;
    stop_reason: "end_turn";
}
```

#### `subagentStart`

```
          **[Input]:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    transcriptPath: string;
    agentName: string;
    agentDisplayName?: string;
    agentDescription?: string;
}
```

#### `subagentStop` / `SubagentStop`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    transcriptPath: string;
    agentName: string;
    agentDisplayName?: string;
    stopReason: "end_turn";
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "SubagentStop";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    transcript_path: string;
    agent_name: string;
    agent_display_name?: string;
    stop_reason: "end_turn";
}
```

#### `errorOccurred` / `ErrorOccurred`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    error: {
        message: string;
        name: string;
        stack?: string;
    };
    errorContext: "model_call" | "tool_execution" | "system" | "user_input";
    recoverable: boolean;
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "ErrorOccurred";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    error: {
        message: string;
        name: string;
        stack?: string;
    };
    error_context: "model_call" | "tool_execution" | "system" | "user_input";
    recoverable: boolean;
}
```

#### `preCompact` / `PreCompact`

```
          **camelCase の入力:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    transcriptPath: string;
    trigger: "manual" | "auto";
    customInstructions: string;
}
```

```
          **
          VS Code 互換性のある入力:**
```

```typescript
{
    hook_event_name: "PreCompact";
    session_id: string;
    timestamp: string;      // ISO 8601 timestamp
    cwd: string;
    transcript_path: string;
    trigger: "manual" | "auto";
    custom_instructions: string;
}
```

###

```
          `preToolUse` デシジョン コントロール

          `preToolUse` フックは、JSON オブジェクトを stdout に書き込むことでツールの実行を制御できます。
```

| フィールド                | 価値観 | 説明 |
| -------------------- | --- | -- |
| `permissionDecision` |     |    |

```
          `"allow"`、`"deny"`、`"ask"` | ツールが実行されるかどうか。 空の出力では、既定の動作が使用されます。 |
```

\| `permissionDecisionReason` | 文字列 | エージェントに表示される理由。 決定が `"deny"`場合に必要です。 |
\| `modifiedArgs` | オブジェクト | 元のツールの代わりに使用するツール引数を置き換えます。 |

###

```
          `agentStop`
           / 
          `subagentStop` デシジョン コントロール
```

| フィールド      | 価値観 | 説明 |
| ---------- | --- | -- |
| `decision` |     |    |

```
          `"block"`、`"allow"` | 
          `"block"` は、別のエージェントがプロンプトとして `reason` を使用するように強制します。 |
```

\| `reason` | 文字列 |
`decision`が`"block"`されたら、次のターンを求めるメッセージを表示します。 |

###

```
          `permissionRequest` デシジョン コントロール
```

ツール レベルのアクセス許可ダイアログが表示されようとすると、 `permissionRequest` フックが起動します。 ルールベースのアクセス許可チェックで一致する許可または拒否のルールが見つからない場合に起動します。 これを使用して、ツール呼び出しをプログラムで承認または拒否します。特に、対話型プロンプトが使用できないパイプ モード (`-p`) および CI 環境で役立ちます。

```
          **Matcher：**`toolName`に対してテストされた省略可能な正規表現。 設定すると、フックは一致するツール名に対してのみ起動します。
```

アクセス許可の決定を制御するために、JSON を stdout に出力します。

| フィールド      | 価値観 | 説明 |
| ---------- | --- | -- |
| `behavior` |     |    |

```
          `"allow"`、`"deny"` | ツール呼び出しを承認または拒否するかどうか。 |
```

\| `message` | 文字列 | 拒否時に LLM にフェールバックされる理由。 |
\| `interrupt` | ブーリアン |
`true`
`"deny"`と組み合わせると、エージェントが完全に停止します。 |

既定の動作に戻るために、空の出力または `{}` を返します（ユーザー ダイアログを表示するか、パイプ モードで拒否する）。 終了コード `2` は拒否として扱われます。フックが stdout で JSON も出力する場合、それらのフィールドは拒否決定とマージされます。

###

```
          `notification` フック

          `notification` フックは、CLI がシステム通知を出力するときに非同期的に起動します。 これらのフックは「ファイア・アンド・フォーゲット」で、セッションをブロックすることは決してなく、エラーはログに記録され、スキップされます。

          **[Input]:**
```

```typescript
{
    sessionId: string;
    timestamp: number;
    cwd: string;
    hook_event_name: "Notification";
    message: string;           // Human-readable notification text
    title?: string;            // Short title (e.g., "Permission needed", "Shell completed")
    notification_type: string; // One of the types listed below
}
```

```
          **通知の種類:**
```

| タイプ                        | 起動時                                                    |
| -------------------------- | ------------------------------------------------------ |
| `shell_completed`          | バックグラウンド (非同期) シェル コマンドが終了する                           |
| `shell_detached_completed` | デタッチされたシェル セッションが完了する                                  |
| `agent_completed`          | バックグラウンド サブエージェントの終了 (完了または失敗)                         |
| `agent_idle`               | バックグラウンド エージェントがターンを完了し、アイドル状態になり、`write_agent`を待機します。 |
| `permission_prompt`        | エージェントがツールを実行するためのアクセス許可を要求する                          |
| `elicitation_dialog`       | エージェントがユーザーに追加情報を要求する                                  |

```
          **アウトプット：**
```

```typescript
{
    additionalContext?: string; // Injected into the session as a user message
}
```

```
          `additionalContext`が返された場合、テキストは、そのセッションに先頭に追加されたユーザーメッセージとして挿入されます。 これにより、セッションがアイドル状態の場合に、さらにエージェントの処理がトリガーされる可能性があります。 アクションを実行しない場合は、 `{}` または空の出力を返します。

          **Matcher：**`notification_type`の省略可能な正規表現。 パターンは `^(?:pattern)$`として固定されます。 すべての通知の種類を受信するには、 `matcher` を省略します。
```

### フックマッチング用のツール名

| ツール名         | 説明                       |
| ------------ | ------------------------ |
| `bash`       | シェル コマンド (Unix) を実行します。  |
| `powershell` | シェル コマンドを実行する (Windows)。 |
| `view`       | ファイルの内容を読み取ります。          |
| `edit`       | ファイルの内容を変更します。           |
| `create`     | 新しいファイルを作成します。           |
| `glob`       | パターンでファイルを検索します。         |
| `grep`       | ファイルの内容を検索します。           |
| `web_fetch`  | Web ページを取得します。           |
| `task`       | サブエージェント タスクを実行します。      |

同じ種類の複数のフックが構成されている場合は、順番に実行されます。
`preToolUse`の場合、フックが`"deny"`を返した場合、ツールはブロックされます。
`postToolUseFailure`コマンド フックの場合、コード `2`で終了すると、アシスタントの回復ガイダンスとして stderr が返されます。 フックエラー (0 以外の終了コードまたはタイムアウト) はログに記録され、スキップされます。エージェントの実行はブロックされません。

## MCP サーバーの構成

MCP サーバーは、CLI エージェントに追加のツールを提供します。
`~/.copilot/mcp-config.json`で永続的なサーバーを構成します。
`--additional-mcp-config`を使用して、1 つのセッションのサーバーを追加します。

###

```
          `copilot mcp` サブコマンド

          `copilot mcp`を使用して、対話型セッションを開始せずにコマンド ラインから MCP サーバー構成を管理します。
```

| サブコマンド                | 説明                                      |
| --------------------- | --------------------------------------- |
| `list [--json]`       | ソース別にグループ化されたすべての構成済み MCP サーバーを一覧表示します。 |
| `get <name> [--json]` | 特定のサーバーの構成とツールを表示します。                   |
| `add <name>`          | ユーザー構成にサーバーを追加します。                      |

```
          `~/.copilot/mcp-config.json`に書き込みます。 |
```

\| `remove <name>` | ユーザー レベルのサーバーを削除します。 ワークスペース サーバーは、構成ファイルで直接編集する必要があります。 |

```
          **
          `copilot mcp add` オプション：**
```

| オプション                    | 説明                                              |
| ------------------------ | ----------------------------------------------- |
| `-- <command> [args...]` | ローカル (stdio) サーバーのコマンドと引数。                      |
| `--url <url>`            | リモート サーバーの URL。                                 |
| `--type <type>`          | トランスポートの種類: `local`、 `stdio`、 `http`、または `sse`。 |
| `--env KEY=VALUE`        | 環境変数 (反復可能)。                                    |
| `--header KEY=VALUE`     | リモート サーバーの HTTP ヘッダー (反復可能)。                    |
| `--tools <tools>`        | ツール フィルター: `"*"` すべて、コンマ区切りのリスト、または `""` なし。    |
| `--timeout <ms>`         | タイムアウト (ミリ秒単位)。                                 |
| `--json`                 | JSON として追加された構成を出力します。                          |
| `--show-secrets`         | 完全な環境変数とヘッダー値を表示します。                            |
| `--config-dir <path>`    | 構成ディレクトリへのパス。                                   |

> \[!CAUTION]

```
          `--show-secrets` では、機密性の高い環境変数とヘッダー値をターミナルまたはログに出力できます。 信頼できる環境でのみこのオプションを使用し、共有ログまたは履歴に出力をコピー、貼り付け、またはその他の方法でキャプチャしないようにします。
```

### トランスポートの種類

| タイプ               | 説明                              | 必須フィールド |
| ----------------- | ------------------------------- | ------- |
| `local` / `stdio` | stdin/stdout を介して通信するローカル プロセス。 |         |

```
          `command`、`args` |
```

\| `http` | ストリーミング可能な HTTP トランスポートを使用するリモート サーバー。 | `url` |
\| `sse` | Server-Sent イベント トランスポートを使用するリモート サーバー。 | `url` |

### ローカル サーバー構成フィールド

| フィールド     | 必須  | 説明                                         |
| --------- | --- | ------------------------------------------ |
| `command` | はい  | サーバーを起動するコマンド。                             |
| `args`    | はい  | コマンド引数 (配列)。                               |
| `tools`   | はい  | 有効にするツール: すべてのツールの `["*"]` 、または特定のツール名の一覧。 |
| `env`     | いいえ | 環境変数。                                      |

```
          `$VAR`、`${VAR}`、および`${VAR:-default}`展開をサポートします。 |
```

\| `cwd` | いいえ | サーバーの作業ディレクトリ。 |
\| `timeout` | いいえ | ツール呼び出しのタイムアウト (ミリ秒単位)。 |
\| `type` | いいえ |
`"local"` または `"stdio"`。 既定値: `"local"`。 |

### リモート サーバー構成フィールド

| フィールド  | 必須 | 説明 |
| ------ | -- | -- |
| `type` | はい |    |

```
          `"http"` または `"sse"`。 |
```

\| `url` | はい | サーバー URL。 |
\| `tools` | はい | 有効にするツール。 |
\| `headers` | いいえ | HTTP ヘッダー。 変数の拡張をサポートします。 |
\| `oauthClientId` | いいえ | 静的 OAuth クライアント ID (動的登録をスキップします)。 |
\| `oauthPublicClient` | いいえ | OAuth クライアントがパブリックかどうか。 既定値: `true`。 |
\| `oidc` | いいえ | OIDC トークンの挿入を有効にします。
`true`すると、`GITHUB_COPILOT_OIDC_MCP_TOKEN`環境変数 (ローカル サーバー) または `Bearer``Authorization` ヘッダー (リモート サーバー) が挿入されます。 |
\| `timeout` | いいえ | ツール呼び出しのタイムアウト (ミリ秒単位)。 |

### OAuth 再認証

OAuth を使用するリモート MCP サーバーでは、トークンの有効期限が切れたとき、または別のアカウントが必要な場合に、 `needs-auth` 状態が表示される場合があります。
`/mcp auth <server-name>`を使用して、新しい OAuth フローをトリガーします。 ブラウザー認証プロンプトが開き、サインインまたはアカウントの切り替えが可能になります。 フローが完了すると、サーバーは自動的に再接続します。

### フィルター マッピング

サーバーの構成の `filterMapping` フィールドを使用して、MCP ツールの出力を処理する方法を制御します。

| モード                 | 説明                         |
| ------------------- | -------------------------- |
| `none`              | フィルター処理なし。                 |
| `markdown`          | 出力を Markdown として書式設定します。   |
| `hidden_characters` | 非表示または制御文字を削除します。 Default. |

### 組み込みの MCP サーバー

CLI には、追加のセットアップなしで使用できる組み込みの MCP サーバーが含まれています。

| \[サーバー]             | 説明 |
| ------------------- | -- |
| `github-mcp-server` |    |

```
          GitHub API 統合: 問題、プル要求、コミット、コード検索、および GitHub Actions。 |
```

\| `playwright` | ブラウザーの自動化: 移動、クリック、入力、スクリーンショット、フォーム処理。 |
\| `fetch` |
`fetch` ツールを使用した HTTP 要求。 |
\| `time` | 時間ユーティリティ: `get_current_time` と `convert_time`。 |

```
          `--disable-builtin-mcps`を使用してすべての組み込みサーバーを無効にするか、`--disable-mcp-server SERVER-NAME`を使用して特定のサーバーを無効にします。
```

### MCP サーバーの信頼レベル

MCP サーバーは、それぞれ異なる信頼レベルを持つ複数のソースから読み込まれます。

| 情報源                                   | 信頼レベル        | 確認が必要       |
| ------------------------------------- | ------------ | ----------- |
| 組み込み                                  | High         | いいえ         |
| リポジトリ (`.github/mcp.json`)            | 中程度          | 推奨          |
| ワークスペース (`.mcp.json`)                 | 中程度          | 推奨          |
| ユーザー構成 (`~/.copilot/mcp-config.json`) | User-defined | ユーザーの責任での対応 |
| リモート サーバー                             | 低            | いつも         |

すべての MCP ツールの呼び出しには、明示的なアクセス許可が必要です。 これは、外部サービスの読み取り専用操作にも適用されます。

### Enterprise MCP 許可リスト

```
          GitHub Enterprise 許可された MCP サーバーの許可リストを適用できます。 アクティブな場合、CLI は、接続する前に、既定以外の各サーバーをエンタープライズ ポリシーに照らして評価します。

          GitHub Enterprise レジストリ ポリシーが検出された場合 (または、`MCP_ENTERPRISE_ALLOWLIST`試験的機能フラグが有効になっている場合)、CLI は次の手順を実行します。
```

1. コマンド、引数、およびリモート URL に基づいて、構成された既定以外のサーバーごとにフィンガープリントを計算します。
2. エンタープライズ許可リスト評価エンドポイントに指紋を送信します。
3. 指紋が承認されているサーバーのみを許可します。それ以外はすべて、エンタープライズに名前を付けるメッセージでブロックされます。

このチェックは失敗します。評価エンドポイントに到達できない場合、またはエラーが返された場合、ポリシーを検証できるようになるまで、既定以外のサーバーはブロックされます。

サーバーがエンタープライズ許可リストによってブロックされると、CLI には次の情報が表示されます。

```text
MCP server "SERVER-NAME" was blocked by your enterprise "ENTERPRISE-NAME".
Contact your enterprise administrator to add this server to the allowlist.
```

組み込みの既定のサーバーは、常に許可リストの適用から除外されます。

### からの移行 `.vscode/mcp.json`

プロジェクトで`.vscode/mcp.json` (VS Code の MCP 構成形式) を使用している場合は、`.mcp.json`に対応するためにGitHub Copilot CLI（コマンドラインインターフェース）へ移行してください。 移行により、 `servers` キーが `mcpServers`に再マップされます。

```
          **POSIX シェル (bash、zsh、fish など):**
```

```shell
jq '{mcpServers: .servers}' .vscode/mcp.json > .mcp.json
```

```
          [
          `jq`
          ](https://jqlang.github.io/jq/)が必要です。

          **PowerShell**:
```

```powershell
pwsh -NoProfile -Command "`$json = Get-Content '.vscode/mcp.json' -Raw | ConvertFrom-Json; `$content = ([pscustomobject]@{ mcpServers = `$json.servers } | ConvertTo-Json -Depth 100); [System.IO.File]::WriteAllText('.mcp.json', `$content, (New-Object System.Text.UTF8Encoding `$false))"
```

Windowsで、PowerShell Core の代わりに Windows PowerShell を使用している場合は、`pwsh` を `powershell` に置き換えます。

## スキルのリファレンス

スキルは、CLI で実行できる機能を拡張する Markdown ファイルです。 各スキルは、 `SKILL.md` ファイルを含む独自のディレクトリに存在します。 ( `/SKILL-NAME` 経由で、またはエージェントによって自動的に) 呼び出されると、スキルのコンテンツが会話に挿入されます。

### スキルのフロントマター フィールド

| フィールド                      | タイプ                  | 必須  | 説明                                                                     |
| -------------------------- | -------------------- | --- | ---------------------------------------------------------------------- |
| `name`                     | 文字列                  | はい  | スキルのユニークID。 文字、数字、ハイフンのみ。 最大 64 文字。                                    |
| `description`              | 文字列                  | はい  | スキルが実行する内容と、それを使用するタイミング。 最大 1024 文字。                                  |
| `allowed-tools`            | string または string\[] | いいえ | スキルがアクティブな場合に自動的に許可されるツールのコンマ区切りリストまたは YAML 配列。 すべてのツールに `"*"` を使用します。 |
| `user-invocable`           | ブーリアン                | いいえ | ユーザーが `/SKILL-NAME`を使用してスキルを呼び出すことができるかどうか。 既定値: `true`。               |
| `disable-model-invocation` | ブーリアン                | いいえ | エージェントがこのスキルを自動的に呼び出さないようにします。 既定値: `false`。                           |

### スキルの場所

スキルは、これらの場所から優先順位に従って読み込まれます（名前が重複した場合は、最初に見つかったものが使用されます）。

| 場所                    | Scope  | 説明                                            |
| --------------------- | ------ | --------------------------------------------- |
| `.github/skills/`     | プロジェクト | Project固有のスキル。                                |
| `.agents/skills/`     | プロジェクト | 別のプロジェクトの場所。                                  |
| `.claude/skills/`     | プロジェクト | Claude 互換の場所。                                 |
| 親 `.github/skills/`   | 継承済み   | Monorepo 親ディレクトリのサポート。                        |
| `~/.copilot/skills/`  | 個人用    | すべてのプロジェクトに必要な個人のスキル。                         |
| `~/.agents/skills/`   | 個人用    | すべてのプロジェクトで共有されるエージェント スキル。                   |
| `~/.claude/skills/`   | 個人用    | Claude 互換の個人用の場所。                             |
| プラグイン ディレクトリ          | プラグイン  | インストールされているプラグインのスキル。                         |
| `COPILOT_SKILLS_DIRS` | カスタム   | 追加のディレクトリ (コンマ区切り)。                           |
| (CLI にバンドル)           | 組み込み   | CLI に付属するスキル。 優先順位が最も低く、他のソースによってオーバーライドできます。 |

### コマンド (代替スキル形式)

コマンドは、`.md`に個々の`.claude/commands/` ファイルとして格納されるスキルの代わりに使用できます。 コマンド名はファイル名から派生します。 コマンド ファイルは簡略化された形式 ( `name` フィールドは不要) を使用し、 `description`、 `allowed-tools`、および `disable-model-invocation`をサポートします。 コマンドの優先順位は、同じ名前のスキルよりも低くなります。

## カスタム エージェント リファレンス

カスタム エージェントは、Markdown ファイルで定義されている特殊な AI エージェントです。 ファイル名 (拡張子を引いた値) がエージェント ID になります。 ファイル拡張子として `.agent.md` または `.md` を使用します。

### 組み込みエージェント

| エージェント            | 既定のモデル            | 説明                                                                              |
| ----------------- | ----------------- | ------------------------------------------------------------------------------- |
| `code-review`     | claude-sonnet-4.5 | ノイズに対する信号の比率が高いコードレビュー。 バグ、セキュリティの問題、およびロジック エラーの差分を分析します。                      |
| `rubber-duck`     | 補完モデル             | 補完的なモデルを使用して、提案、設計、実装、またはテストの建設的な批判を提供します。 弱点を特定し、改善を提案します。 実験モードでのみ使用できます。     |
| `explore`         | claude-haiku-4.5  | 高速なコードベース探索。 ファイルを検索し、コードを読み取り、質問に回答します。 300 語以下のフォーカスされた回答を返します。 並列で安全に実行できます。 |
| `general-purpose` | claude-sonnet-4.5 | 複雑なマルチステップ タスク用のフル機能エージェント。 別のコンテキスト ウィンドウで実行されます。                              |
| `research`        | claude-sonnet-4.6 | ディープリサーチ・エージェント コードベース、関連するリポジトリ、および Web 上の情報に基づいてレポートを生成します。                   |
| `task`            | claude-haiku-4.5  | コマンドの実行 (テスト、ビルド、リント)。 成功に関する簡単な概要を返し、失敗した場合は完全な出力を返します。                        |

### カスタムエージェントのフロントマター フィールド

| フィールド         | タイプ    | 必須  | 説明                                    |
| ------------- | ------ | --- | ------------------------------------- |
| `description` | 文字列    | はい  | エージェントの一覧と `task` ツールに表示される説明。        |
| `infer`       | ブーリアン  | いいえ | メイン エージェントによる自動委任を許可します。 既定値: `true`。 |
| `mcp-servers` | オブジェクト | いいえ | 接続する MCP サーバー。                        |

```
          `~/.copilot/mcp-config.json`と同じスキーマを使用します。 |
```

\| `model` | 文字列 | いいえ | このエージェントの AI モデル。 設定を解除すると、外部エージェントのモデルが継承されます。 セッション モデルが `Auto` (サーバー選択) に設定されている場合、サブエージェントは、このフィールドに関係なく、解決されたセッション モデルを常に継承します。 |
\| `name` | 文字列 | いいえ | 表示名。 デフォルトはファイル名です。 |
\| `tools` | string\[] | いいえ | エージェントで使用できるツール。 既定値: `["*"]` (すべてのツール)。 |

### カスタム エージェントの場所

| Scope  | 場所 |
| ------ | -- |
| プロジェクト |    |

```
          `.github/agents/` または `.claude/agents/` |
```

\| User |
`~/.copilot/agents/` または `~/.claude/agents/` |
\| プラグイン | `<plugin>/agents/` |

Project レベルのエージェントは、ユーザー レベルのエージェントよりも優先されます。 プラグイン エージェントの優先度は最も低くなります。

### サブエージェントの制限

CLI では、エージェントのランナウェイ生成を防ぐために、深度とコンカレンシーの制限が適用されます。

| 制限      | デフォルト | 環境変数                              |
| ------- | ----- | --------------------------------- |
| 最大深度    | `6`   | `COPILOT_SUBAGENT_MAX_DEPTH`      |
| 最大同時実行数 | `32`  | `COPILOT_SUBAGENT_MAX_CONCURRENT` |

```
          **深度** は、互いに入れ子になっているエージェントの数をカウントします。 深度制限に達すると、最も内側のエージェントはサブエージェントをさらに生成できません。 
          **コンカレンシー** では、セッション ツリー全体で同時に実行されているサブエージェントの数がカウントされます。 制限に達すると、アクティブなエージェントが完了するまで、新しいサブエージェント要求が拒否されます。 値は、 `1` と `256`の間でクランプされます。
```

## 権限承認応答

CLI で操作を実行するためのアクセス許可を求められたら、次のキーを使用して応答できます。

| 鍵   | 影響                              |
| --- | ------------------------------- |
| `y` | この特定の要求を 1 回許可します。              |
| `n` | この特定の要求を 1 回拒否します。              |
| `!` | セッションの残りの部分に対して同様のすべての要求を許可します。 |
| `#` | セッションの残りの部分について、同様の要求をすべて拒否します。 |
| `?` | 要求に関する詳細情報を表示します。               |

セッションの承認は、 `/clear` を実行するか、新しいセッションを開始するとリセットされます。

## OpenTelemetry の監視

```
          Copilot CLI (コパイロット CLI)
          [では、OpenTelemetry (OTel](https://opentelemetry.io/)) を使用してトレースとメトリックをエクスポートできるため、エージェントの対話、LLM 呼び出し、ツールの実行、トークンの使用状況を把握できます。 すべてのシグナル名と属性は、 [OTel GenAI セマンティック規則](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/)に従います。
```

OTel は既定ではオフで、オーバーヘッドはゼロです。 次のいずれかの条件が満たされるとアクティブになります。

* `COPILOT_OTEL_ENABLED=true`
* `OTEL_EXPORTER_OTLP_ENDPOINT` が設定されている
* `COPILOT_OTEL_FILE_EXPORTER_PATH` が設定されている

### OTel 環境変数

| Variable               | デフォルト   | 説明                |
| ---------------------- | ------- | ----------------- |
| `COPILOT_OTEL_ENABLED` | `false` | OTel を明示的に有効にします。 |

```
          `OTEL_EXPORTER_OTLP_ENDPOINT`が設定されている場合は不要です。 |
```

\| `OTEL_EXPORTER_OTLP_ENDPOINT` | — | OTLP エンドポイント URL。 これを自動的に設定すると、OTel が有効になります。 |
\| `COPILOT_OTEL_EXPORTER_TYPE` | `otlp-http` | エクスポーターの種類: `otlp-http` または `file`。
`file`が設定されているときに`COPILOT_OTEL_FILE_EXPORTER_PATH`を自動選択します。 |
\| `OTEL_SERVICE_NAME` | `github-copilot` | リソース属性のサービス名。 |
\| `OTEL_RESOURCE_ATTRIBUTES` | — | コンマ区切りの `key=value` ペアとしての追加のリソース属性。 特殊文字にはパーセント エンコードを使用します。 |
\| `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` | `false` | 完全なプロンプトと応答のコンテンツをキャプチャします。
[コンテンツ キャプチャを](#content-capture)参照してください。 |
\| `OTEL_LOG_LEVEL` | — | OTel 診断ログ レベル: `NONE`、 `ERROR`、 `WARN`、 `INFO`、 `DEBUG`、 `VERBOSE`、 `ALL`。 |
\| `COPILOT_OTEL_FILE_EXPORTER_PATH` | — | すべてのシグナルを JSON 行としてこのファイルに書き込みます。 これを自動的に設定すると、OTel が有効になります。 |
\| `COPILOT_OTEL_SOURCE_NAME` | `github.copilot` | トレーサーとメーターのインストルメンテーション スコープ名。 |
\| `OTEL_EXPORTER_OTLP_HEADERS` | — | OTLP エクスポーターの認証ヘッダー (たとえば、 `Authorization=Bearer token`)。 |

### 痕跡

ランタイムは、エージェントの相互作用ごとに階層型スパン ツリーを生成します。 各ツリーには、`invoke_agent`ルート スパンと`chat`および`execute_tool`の子スパンが含まれています。

####

```
          `invoke_agent` スパン属性
```

エージェント呼び出し全体をラップします。1 つのユーザー メッセージに対するすべての LLM 呼び出しとツールの実行。

* トップレベルのセッションでは、\*\*\*\*、`CLIENT`を用いてスパンタイプ`server.address`（リモートサービス呼び出し）が使用されます。
* **サブエージェント呼び出し** (探索、タスクなど) では、サーバー属性なしでスパンの種類 `INTERNAL` (インプロセス) が使用されます。

| 特性                               | 説明                                   | スパンの種類 |
| -------------------------------- | ------------------------------------ | ------ |
| `gen_ai.operation.name`          | `invoke_agent`                       | 両方とも   |
| `gen_ai.provider.name`           | プロバイダー (たとえば、 `github`、 `anthropic`) | 両方とも   |
| `gen_ai.agent.id`                | セッション識別子                             | 両方とも   |
| `gen_ai.agent.name`              | エージェント名 (使用可能な場合)                    | 両方とも   |
| `gen_ai.agent.description`       | エージェントの説明 (使用可能な場合)                  | 両方とも   |
| `gen_ai.agent.version`           | ランタイム バージョン                          | 両方とも   |
| `gen_ai.conversation.id`         | セッション識別子                             | 両方とも   |
| `gen_ai.request.model`           | 要求されたモデル                             | 両方とも   |
| `gen_ai.response.finish_reasons` |                                      |        |

```
          `["stop"]` または `["error"]` | 両方とも |
```

\| `gen_ai.usage.input_tokens` | 入力トークンの合計 (すべてのターン) | 両方とも |
\| `gen_ai.usage.output_tokens` | 出力トークンの合計 (すべてのターン) | 両方とも |
\| `gen_ai.usage.cache_read.input_tokens` | キャッシュされた入力トークンの読み取り | 両方とも |
\| `gen_ai.usage.cache_creation.input_tokens` | キャッシュされた入力トークンの作成 | 両方とも |
\| `github.copilot.turn_count` | LLMラウンドトリップの数 | 両方とも |
\| `github.copilot.cost` | 貨幣コスト | 両方とも |
\| `github.copilot.aiu` | 消費された AI ユニット | 両方とも |
\| `server.address` | サーバーのホスト名 |
`CLIENT` のみ |
\| `server.port` | サーバー ポート |
`CLIENT` のみ |
\| `error.type` | エラー クラス名 (エラー時) | 両方とも |
\| `gen_ai.input.messages` | JSON としての完全な入力メッセージ (コンテンツ キャプチャのみ) | 両方とも |
\| `gen_ai.output.messages` | JSON としての完全な出力メッセージ (コンテンツ キャプチャのみ) | 両方とも |
\| `gen_ai.system_instructions` | システム プロンプト コンテンツを JSON (コンテンツ キャプチャのみ) として | 両方とも |
\| `gen_ai.tool.definitions` | JSON としてのツール スキーマ (コンテンツ キャプチャのみ) | 両方とも |

####

```
          `chat` スパン属性
```

LLM 要求ごとに 1 つのスパン。 スパン種別: `CLIENT`。

| 特性                                         | 説明                                         |
| ------------------------------------------ | ------------------------------------------ |
| `gen_ai.operation.name`                    | `chat`                                     |
| `gen_ai.provider.name`                     | プロバイダー名                                    |
| `gen_ai.request.model`                     | 要求されたモデル                                   |
| `gen_ai.conversation.id`                   | セッション識別子                                   |
| `gen_ai.response.id`                       | 応答 ID                                      |
| `gen_ai.response.model`                    | 解決済みモデル                                    |
| `gen_ai.response.finish_reasons`           | 停止の理由                                      |
| `gen_ai.usage.input_tokens`                | このターンの入力トークン                               |
| `gen_ai.usage.output_tokens`               | このターンの出力トークン                               |
| `gen_ai.usage.cache_read.input_tokens`     | キャッシュされたトークンの読み取り                          |
| `gen_ai.usage.cache_creation.input_tokens` | キャッシュされたトークンの作成                            |
| `github.copilot.cost`                      | 回転費用                                       |
| `github.copilot.aiu`                       | このターンで使用された AI ユニット                        |
| `github.copilot.server_duration`           | サーバー側の期間                                   |
| `github.copilot.initiator`                 | 要求開始者                                      |
| `github.copilot.turn_id`                   | ターン識別子                                     |
| `github.copilot.interaction_id`            | 相互作用識別子                                    |
| `github.copilot.time_to_first_chunk`       | 最初のストリーミング チャンクまでの時間 (秒単位)(ストリーミングのみ)      |
| `server.address`                           | サーバーのホスト名                                  |
| `server.port`                              | サーバー ポート                                   |
| `error.type`                               | エラー クラス名 (エラー時)                            |
| `gen_ai.input.messages`                    | JSON としての完全なプロンプト メッセージ (コンテンツ キャプチャのみ)    |
| `gen_ai.output.messages`                   | JSON としての完全な応答メッセージ (コンテンツ キャプチャのみ)        |
| `gen_ai.system_instructions`               | システム プロンプト コンテンツを JSON (コンテンツ キャプチャのみ) として |

####

```
          `execute_tool` スパン属性
```

ツール呼び出しごとに 1 つのスパン。 スパン種別: `INTERNAL`。

| 特性                           | 説明                               |
| ---------------------------- | -------------------------------- |
| `gen_ai.operation.name`      | `execute_tool`                   |
| `gen_ai.provider.name`       | プロバイダー名 (使用可能な場合)                |
| `gen_ai.tool.name`           | ツール名 (たとえば、 `readFile`)          |
| `gen_ai.tool.type`           | `function`                       |
| `gen_ai.tool.call.id`        | ツール呼び出し識別子                       |
| `gen_ai.tool.description`    | ツールの説明                           |
| `error.type`                 | エラー クラス名 (エラー時)                  |
| `gen_ai.tool.call.arguments` | JSON としてのツール入力引数 (コンテンツ キャプチャのみ) |
| `gen_ai.tool.call.result`    | JSON としてのツール出力 (コンテンツ キャプチャのみ)   |

### Metrics

#### GenAI 慣例メトリック

| メトリクス                                           | タイプ    | 単位     | 説明                           |
| ----------------------------------------------- | ------ | ------ | ---------------------------- |
| `gen_ai.client.operation.duration`              | ヒストグラム | s      | LLM API 呼び出しとエージェント呼び出し期間    |
| `gen_ai.client.token.usage`                     | ヒストグラム | tokens | 種類別のトークン数 (`input`/`output`) |
| `gen_ai.client.operation.time_to_first_chunk`   | ヒストグラム | s      | 最初のストリーミング チャンクを受信する時間       |
| `gen_ai.client.operation.time_per_output_chunk` | ヒストグラム | s      | 最初のチャンク後のチャンク間のレイテンシー        |

#### ベンダー固有のメトリック

| メトリクス                            | タイプ  | 単位    | 説明 |
| -------------------------------- | ---- | ----- | -- |
| `github.copilot.tool.call.count` | カウンタ | calls |    |

```
          `gen_ai.tool.name` および `success` によるツールの呼び出し |
```

\| `github.copilot.tool.call.duration` | ヒストグラム | s |
`gen_ai.tool.name` によるツールの実行待機時間 |
\| `github.copilot.agent.turn.count` | ヒストグラム | 回転 | エージェント呼び出しごとの LLM ラウンドトリップ |

### Span イベント

アクティブな `chat` または `invoke_agent` スパンに記録されたライフサイクル イベント。

| イベント                        | 説明             | キー属性 |
| --------------------------- | -------------- | ---- |
| `github.copilot.hook.start` | フックの実行が開始されました |      |

```
          `github.copilot.hook.type`、`github.copilot.hook.invocation_id` |
```

\| `github.copilot.hook.end` | フックが正常に完了しました |
`github.copilot.hook.type`、`github.copilot.hook.invocation_id` |
\| `github.copilot.hook.error` | フックに失敗しました |
`github.copilot.hook.type`、`github.copilot.hook.invocation_id`、`github.copilot.hook.error_message` |
\| `github.copilot.session.truncation` | 会話履歴が切り捨てられました |
`github.copilot.token_limit`、 `github.copilot.pre_tokens`、 `github.copilot.post_tokens`、 `github.copilot.pre_messages`、 `github.copilot.post_messages`、 `github.copilot.tokens_removed`、 `github.copilot.messages_removed`、 `github.copilot.performed_by` |
\| `github.copilot.session.compaction_start` | 圧縮が開始された歴史 | なし |
\| `github.copilot.session.compaction_complete` | 履歴の圧縮が完了しました |
`github.copilot.success`、 `github.copilot.pre_tokens`、 `github.copilot.post_tokens`、 `github.copilot.tokens_removed`、 `github.copilot.messages_removed`、 `github.copilot.message` (コンテンツ キャプチャのみ) |
\| `github.copilot.skill.invoked` | スキルが呼び出されました |
`github.copilot.skill.name`、 `github.copilot.skill.path`、 `github.copilot.skill.plugin_name`、 `github.copilot.skill.plugin_version` |
\| `github.copilot.session.shutdown` | セッションがシャットダウン中 |
`github.copilot.shutdown_type`、`github.copilot.total_premium_requests`、`github.copilot.lines_added`、`github.copilot.lines_removed`、`github.copilot.files_modified_count` |
\| `github.copilot.session.abort` | ユーザーが現在の操作を取り消した | `github.copilot.abort_reason` |
\| `exception` | セッション エラー |
`github.copilot.error_type`、`github.copilot.error_status_code`、`github.copilot.error_provider_call_id` |

### リソース属性

すべてのシグナルには、これらのリソース属性が含まれます。

| 特性             | 価値 |
| -------------- | -- |
| `service.name` |    |

```
          `github-copilot` ( `OTEL_SERVICE_NAME`を介して構成可能) |
```

\| `service.version` | ランタイム バージョン |

### コンテンツ キャプチャ

既定では、プロンプトコンテンツ、応答、またはツール引数はキャプチャされません。モデル名、トークン数、期間などのメタデータのみがキャプチャされます。 完全なコンテンツをキャプチャするには、 `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true`設定します。

> \[!WARNING]
> コンテンツ キャプチャには、コード、ファイル コンテンツ、ユーザー プロンプトなどの機密情報が含まれる場合があります。 これは、信頼できる環境でのみ有効にします。

コンテンツ キャプチャを有効にすると、次の属性が設定されます。

| 特性                           | Content                 |
| ---------------------------- | ----------------------- |
| `gen_ai.input.messages`      | 完全な JSON プロンプト メッセージ    |
| `gen_ai.output.messages`     | 完全な応答メッセージ (JSON)       |
| `gen_ai.system_instructions` | システム プロンプト コンテンツ (JSON) |
| `gen_ai.tool.definitions`    | ツール スキーマ (JSON)         |
| `gen_ai.tool.call.arguments` | ツールの入力引数                |
| `gen_ai.tool.call.result`    | ツール出力                   |

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

* [GitHub Copilot CLI（コマンドラインインターフェース）](/ja/copilot/how-tos/copilot-cli)
* [GitHub Copilot CLI プラグイン リファレンス](/ja/copilot/reference/copilot-cli-reference/cli-plugin-reference)
* [GitHub Copilot CLI プログラムリファレンス](/ja/copilot/reference/copilot-cli-reference/cli-programmatic-reference)
* [GitHub Copilot CLI の構成ディレクトリ](/ja/copilot/reference/copilot-cli-reference/cli-config-dir-reference)