Copilot CLI (コパイロット CLI)対話形式で実行するだけでなく、対話型セッションに入らずに、1 つのコマンドで CLI に直接プロンプトを渡すこともできます。 これにより、スクリプト、CI/CD パイプライン、自動化ワークフローでプログラムで Copilot を使用できます。 詳細については、「プログラムによる GitHub Copilot CLI(コマンドラインインターフェース) の実行」を参照してください。
この記事では、 Copilot CLI (コパイロット CLI) プログラムで実行する場合に特に関連するコマンド ライン オプションと環境変数について説明します。
使用可能なオプションの完全な一覧を表示するには、 GITHUB COPILOT CLI コマンド リファレンス を参照するか、ターミナルで次のコマンドを入力します。
copilot help
copilot help
コマンド ライン オプション
Copilot CLI (コパイロット CLI)をプログラムで実行する場合に特に便利なコマンド ライン オプションがいくつかあります。
--allow-tool オプションのツール
--allow-tool オプションを使用して、さまざまな種類のツールを指定できます。
| ツールの種類 | 制御する内容 |
|---|---|
| シェル | シェル コマンドの実行。 |
| 書き込み | ファイルの作成または変更。 |
| 読み取り | ファイルまたはディレクトリの読み取り。 |
| URL | URLからコンテンツを取得する。 |
| メモリ | エージェントの永続メモリに新しいファクトを格納する。 これは、既存のメモリの使用には影響しません。 「GitHub Copilot Memory について」を参照してください。 |
| MCP-SERVER | 特定の MCP サーバーからのツールの呼び出し。 サーバーの構成済みの名前を識別子として使用します (例: github)。 「GitHub Copilot CLI(コマンドラインインターフェース) 用の MCP サーバーを追加する」を参照してください。 |
ツール フィルター
shell、write、url、および MCP サーバー ツールの種類を使用すると、フィルターをかっこで囲んで指定して、許可する特定のツールを制御できます。
| ツールの種類 | 例 | 例の説明 |
|---|---|---|
| シェル | shell(git:*) | すべての Git サブコマンド (git push、 git statusなど) を許可します。 |
shell(npm test) | 正確なコマンドの npm testを許可します。 | |
| 書く | write(.github/ | CLI でこの特定のパスへの書き込みを許可します。 |
write(README.md) | パスが /README.md で終わるすべてのファイルに CLI が書き込むよう許可します。 | |
| url | url(github.com) | CLI が github.com 上の HTTPS URL にアクセスできるようにします。 |
url(http:/ | CLI が明示的なプロトコルとポートを使用してローカル開発サーバーにアクセスできるようにします。 | |
url(https:/ | CLI が任意の GitHub サブドメイン (たとえば、 api.github.com) にアクセスできるようにします。 | |
url(https:/ | このサイト Copilot ドキュメントへのアクセスを許可します。 | |
| MCP-SERVER | github(create_issue) | |
create_issue MCP サーバーからのgithub ツールのみを許可します。 |
メモ
ワイルドカードは、指定したツールのすべてのサブコマンドと一致する shell と、ホスト名の先頭にある url が任意のサブドメインと一致する場合、またはパスの末尾でパス サフィックスと一致する場合にのみサポートされます (前の表を参照)。
環境変数
環境変数を使用して、プログラムで実行する場合の CLI の動作のさまざまな側面を構成できます。 これは、CI/CD ワークフローや、コマンド ラインで特定のオプションを直接指定したくない場合に、その他の自動化された環境で構成を設定する場合に特に便利です。
Copilot CLI (コパイロット CLI)の環境変数の詳細については、ターミナルでコマンド copilot help environmentを使用します。
モデルの選択
非対話型モードで Copilot CLI (コパイロット CLI) するプロンプトを送信すると、CLI が応答の生成に使用するモデルが応答出力に表示されます ( -sまたは --silentオプションが使用されていない場合)。
--model オプションを使用して、CLI で使用する AI モデルを指定できます。 これにより、プロンプトに最適なモデルを選択し、速度、コスト、機能などの要因のバランスを取ることができます。
たとえば、コードの説明や概要の生成などの簡単なタスクでは、Claude Haiku モデルなどの高速で低コストのモデルを選択できます。
copilot -p "What does this project do?" -s --model claude-haiku-4.5
copilot -p "What does this project do?" -s --model claude-haiku-4.5
コードのデバッグやリファクタリングなど、より詳細な推論を必要とするより複雑なタスクの場合は、GPT Codex モデルなどのより強力なモデルを選択できます。
copilot -p "Fix the race condition in the worker pool" \ --model gpt-5.3-codex \ --allow-tool='write, shell'
copilot -p "Fix the race condition in the worker pool" \
--model gpt-5.3-codex \
--allow-tool='write, shell'
メモ
ターミナルに「--model」と入力すると、copilot help オプションの説明で使用可能なすべてのモデルのモデル文字列を確認できます。
または、 COPILOT_MODEL 環境変数を設定して、シェル セッションの期間中にモデルを指定することもできます。
シェル セッション間でモデルの選択を保持するには、CLI 構成ファイルで model キーを設定します。 このファイルは~/.copilot/settings.jsonにあります ($COPILOT_HOME/settings.json環境変数を設定している場合はCOPILOT_HOME)。 一部のモデルでは、推論作業レベルを設定することもできます。これにより、モデルが応答するまでの思考に費やす時間を制御できます。
{
"model": "gpt-5.3-codex",
"effortLevel": "low"
}
{
"model": "gpt-5.3-codex",
"effortLevel": "low"
}
ヒント
構成ファイルでモデルを永続的に設定する最も簡単な方法は、対話型セッションで /model スラッシュ コマンドを使用することです。 このコマンドで行った選択は、構成ファイルに書き込まれます。
モデルの優先順位
特定のプロンプトに使用するモデルを決定する場合、CLI はモデル仕様を次の優先順位 (最高から最下位) でチェックします。
- カスタム エージェントが使用される場所: カスタム エージェント定義で指定されたモデル (存在する場合)。
--modelコマンド ライン オプション。COPILOT_MODEL環境変数。- 構成ファイル内の
modelキー (~/.copilot/settings.jsonまたは$COPILOT_HOME/settings.json)。 - CLI の既定のモデル。
カスタム エージェントの使用
--agent オプションを使用して、特殊なエージェントに作業を委任できます。 詳細については、「GitHub Copilot CLI(コマンドラインインターフェース) のカスタムエージェントの作成と使用」を参照してください。
この例では、 code-review エージェントが使用されます。 これには、この名前でカスタム エージェントが作成されている必要があります。
copilot -p "Review the latest commit" \
--allow-tool='shell' \
--agent code-review
