Visual Studio Code での Copilot CLI セッション
Visual Studio Code は、GitHub Copilot CLI を使用したバックグラウンドでのエージェント セッションの実行をサポートしています。エディターで他の作業を続けている間、エージェントはローカル マシン上で自律的に実行され、VS Code の統合チャット ビューから Copilot CLI セッションの開始、監視、管理を行うことができます。複数の Copilot CLI セッションを並行して実行し、独立したタスクに同時に取り組むことができます。
Copilot CLI セッションを開始するには、新しいセッションを作成するか、既存のコンテキストを引き継いでローカルのエージェント セッションを Copilot CLI に引き継ぐことができます。
この記事では、Copilot CLI エージェントの主な機能と、Copilot CLI からバックグラウンド セッションを開始および管理する方法について説明します。

複数のプロジェクトにまたがってエージェントを主に使用する場合は、メインの VS Code ウィンドウとセッションを共有するエージェント最優先のサーフェスである Agents ウィンドウで Copilot CLI セッションを管理することもできます。
OpenAI Codex などのサードパーティ プロバイダーもバックグラウンド機能を提供しています。詳細については、サードパーティ エージェントを参照してください。
Copilot CLI セッションとは?
Copilot CLI セッションは、ローカル マシン上のバックグラウンドで独立して実行され、Copilot CLI エージェント ハーネスを使用します。VS Code は Copilot SDK を使用してこれらのエージェントと統合し、バックグラウンド セッションの開始、停止、進捗の監視を行います。VS Code は Copilot CLI を自動的にインストールおよび構成します。
Copilot SDK セッションは VS Code の外部で実行され、VS Code ウィンドウを閉じてもバックグラウンドで実行され続けます。この動作は、エディター内で VS Code エージェント ハーネスを使用し、VS Code が停止すると実行を停止するローカル エージェントとは異なります。
統合チャット ビューから Copilot CLI セッションを操作できます。バックグラウンド セッションがユーザーの入力を必要とする場合や、アクションを実行するための権限を必要とする場合は、チャット内から行うことができます。セッションが入力を必要とするときは、エージェント ステータス インジケーターもヒントを表示します。
Copilot CLI セッションはバックグラウンドで実行されるため、範囲が明確に定義され、必要なコンテキストがすべて揃っており、頻繁なユーザー操作を必要としないタスクに適しています。例としては、計画に基づく機能の実装、概念実証(PoC)の複数のバリエーションの作成、明確に定義された修正や機能の実装などが挙げられます。
Copilot CLI は、チャットでのスラッシュ コマンドをサポートしています。これには、再利用可能なプロンプト、エージェント スキル、フック、長い会話を管理するための /compact、およびツールの自動承認を切り替えるための /yolo または /autoApprove が含まれます。Copilot CLI セッションのチャット入力欄に / と入力すると、利用可能なコマンドが表示されます。
分離モード
Copilot CLI は、エージェントからの変更をコードベースに適用する方法を管理するために、ワークツリー(Worktree)とワークスペース(Workspace)という 2 種類の分離モードをサポートしています。新しい Copilot CLI セッションを作成するときに、分離モードを選択できます。
Copilot CLI エージェントによる変更を分離し、現在の作業への干渉を防ぐには、ワークツリー(Worktree)分離を使用します。このモードでは、VS Code は Copilot CLI セッション用に別のフォルダーに Git ワークツリーを作成します。エージェントによって行われたすべての変更はワークツリーに適用され、確認して適用する準備ができるまで、メイン ワークスペースから切り離された状態に保たれます。
ワークツリー分離を使用する Copilot CLI セッションをフォークした場合、フォークされたセッションは元のセッションと同じワークツリーを引き続き使用します。VS Code は、リンクされた最後のセッションが削除またはアーカイブされた後にのみ、共有ワークツリーを削除します。
Copilot CLI セッションからの変更を現在のワークスペースに直接適用したい場合は、ワークスペース(Workspace)分離を選択できます。このモードでは、エージェントは現在のワークスペースで直接動作し、変更はその場で適用されます。
Git ワークツリーおよびワークツリー分離を使用するには、ワークスペースが Git リポジトリである必要があります。
権限と承認
Copilot CLI セッションは、ローカル エージェントと同じ権限レベルをサポートしています。利用可能な権限レベルは、選択する分離モードによって異なります。
- ワークツリー分離: 権限レベルは自動的に承認をバイパス(Bypass Approvals)に設定され、変更することはできません。エージェントはコードベースの隔離されたコピー(Git ワークツリー)上で動作するため、すべてのツール呼び出しは確認ダイアログなしで自動承認されます。
- ワークスペース分離: ローカル エージェント セッションと同様に、3 つの権限レベルすべて(デフォルトの承認(Default Approvals)、承認をバイパス(Bypass Approvals)、オートパイロット(Autopilot))が利用可能です。チャット入力エリアの権限ピッカーからレベルを選択します。
Copilot CLI セッションの作成
VS Code で新しい Copilot CLI セッションを作成するには
-
以下のいずれかのオプションを使用して新しいセッションを作成します
-
チャット ビューを開き(⌃⌘I(Windows、Linux は Ctrl+Alt+I))、[セッション ターゲット(Session Target)]ドロップダウンから Copilot CLI を選択します
-
上部の 新規チャット(New Chat) アイコンを選択し、新規 Copilot CLI セッション(New Copilot CLI Session) を選択します
-
コマンド パレット(⇧⌘P(Windows、Linux は Ctrl+Shift+P))から Chat: New Copilot CLI (チャット: 新規 Copilot CLI) コマンドを実行します
-
-
ワークスペースまたはワークツリーの分離モードを選択します
ワークツリー分離を使用する場合、エージェントは各ターンの終了時にワークツリーへの変更を自動的にコミットするため、セッション履歴はコミット履歴と一致した状態に保たれます。
ヒントセッション リストでセッションを右クリックし、Open Worktree in New Window (新しいウィンドウでワークツリーを開く) を選択することで、セッションのワークツリーを開くことができます。また、ソース管理ビューのリポジトリ エクスプローラー(
scm.repositories.explorer)でワークツリーを表示することもできます。 -
プロンプトを送信してエージェントを開始します。オプションで、追加のコンテキストを追加したり、特定の言語モデルやカスタム エージェントを選択したりできます。
-
チャット ビューでセッションのステータスを追跡します。
複数の Copilot CLI セッションを作成して、異なるタスクに並行して取り組むことができます。
ローカル セッションを Copilot CLI に引き継ぐ
複雑なタスクの場合、まず VS Code 内のローカル エージェントとやり取りして要件を明確にし、その後タスクを Copilot CLI に引き渡してバックグラウンドで自律的に実行させるのが効果的です。これは、Plan エージェントを使用して計画を作成し、その計画の実装を Copilot CLI に引き渡す場合に便利です。
ローカル エージェントの会話を Copilot CLI セッションに引き渡すと、完全な会話履歴とコンテキストがバックグラウンド セッションに渡されます。
ローカル エージェント セッションを Copilot CLI に引き継ぐには
-
チャットビューを開く(⌃⌘I (Windows, Linux Ctrl+Alt+I))
-
タスクを引き渡す準備ができるまで、ローカル エージェントとやり取りします
-
Copilot CLI に引き渡すには、以下のオプションがあります
-
Session Target (セッション ターゲット) ドロップダウンを開き、Copilot CLI を選択します

-
Plan エージェントを使用している場合は、Start Implementation (実装の開始) ドロップダウンを選択し、Continue in Copilot CLI (Copilot CLI で続行) を選択して、Copilot CLI セッションで実装を実行します

-
Copilot CLI セッションが自動的に開始され、完全な会話履歴とコンテキストが引き継がれます。
Copilot CLI セッションのリモート コントロール
"/remote on" コマンドを使用すると、github.com または GitHub モバイル アプリから Copilot CLI セッションをリモート コントロールできます。リモート コントロールを使用すると、どこからでも進行中の Copilot CLI セッションを監視して指示を出せるため、マシンに縛られることなく柔軟に作業を進めることができます。VS Code と GitHub の両方で、完全なセッション コンテキストと履歴が同期されます。
リモート コントロールは、エージェント セッションをリモートで実行する 2 つの方法のうちの 1 つです。Agents ウィンドウを SSH または dev トンネル経由でリモート マシンに接続することもできます。詳細については、リモート エージェント セッションを参照してください。
リモート コントロールが有効になっている場合、VS Code はセッション履歴、ツールのアクティビティ、およびステータスの更新を、リンクされた GitHub タスク ページにリアルタイムでストリーミングします。一方の場所で行ったアクションはもう一方に反映されます。セッションがツールの呼び出しに対する承認や、質問に対する入力を必要とする場合、プロンプトは両方の場所に表示され、どちらの場所からでも応答できます。
Copilot CLI セッションでリモート コントロールを使用するには
-
チャット ビューから Copilot CLI セッションを開始または再開します。
-
チャット入力欄に
"/remote on"と入力してリモート コントロールを有効にし、リンクされた GitHub タスク ページを作成します。 -
Open on GitHub (GitHub で開く) を選択してリンクされたタスク ページを開くか、QR コードをスキャンしてモバイル デバイスで開きます。
いつでも "/remote" を実行して、現在のリモート コントロールのステータスを確認できます。"/remote" コマンドはステータスを表示するだけで、リモート コントロールを有効または無効にはしません。
GitHub へのセッションのミラーリングを停止するには、チャット入力欄に "/remote off" と入力します。
VS Code で Copilot CLI セッションのリモート コントロール サポートを無効にするには、 github.copilot.chat.cli.remote.enabled 設定を無効にします。
リモート コントロールには、VS Code での GitHub 認証と、GitHub リポジトリにマッピングされたワークスペースが必要です。追加 of GitHub 権限が必要な場合、VS Code はリモート コントロールが有効になる前に、それらを許可するように求めます。
ターミナルから Copilot CLI を使用する
チャット ビューから Copilot CLI セッションを開始するだけでなく、VS Code ターミナルから直接 Copilot CLI を使用することもできます。

Copilot CLI ターミナルを開く
VS Code は、専用の Copilot CLI ターミナルを開くために使用できる GitHub Copilot CLI ターミナル プロファイルを登録します。Copilot CLI ターミナルは、いくつかの方法で開くことができます
-
[ターミナル]パネルの + ボタンの横にあるドロップダウンを選択し、GitHub Copilot CLI を選択します
-
コマンド パレットから Chat: New Copilot CLI Session (チャット: 新規 Copilot CLI セッション) コマンドを実行してパネルで Copilot CLI ターミナルを開くか、Chat: New CLI Session to the Side (チャット: 横に新規 CLI セッション) を実行して現在のエディターの横にあるエディター タブで開きます
-
コマンド パレット(⇧⌘P(Windows、Linux は Ctrl+Shift+P))から Terminal: Create New Terminal (With Profile) (ターミナル: 新しいターミナルの作成 (プロファイルを使用)) コマンドを実行し、GitHub Copilot CLI を選択します
-
VS Code の統合ターミナルで
copilotと入力して、Copilot CLI を直接起動します
Copilot CLI ターミナルは以下のシェルをサポートしています
- macOS および Linux 上の bash および zsh
- Windows 上の PowerShell および コマンド プロンプト(Command Prompt)
ターミナルからのセッションの開始と再開
Copilot CLI ターミナルから新しいセッションを開始すると、VS Code は自動的にセッションを検出し、チャット ビューのセッション リストに表示します。その後、ターミナルまたはチャット ビューのいずれかから、進捗状況の追跡、追加プロンプトの送信、または変更の確認を行うことができます。
ターミナルで既存の Copilot CLI セッションを再開するには、セッション リストでセッションを右クリックし、Resume in Terminal (ターミナルで再開) を選択します。
VS Code は Copilot CLI ターミナルの認証を自動的に処理するため、別途サインインする必要はありません。
マルチリポジトリ ワークスペース
ワークスペースに複数の Git リポジトリが含まれている場合、Copilot CLI セッションを開始すると、VS Code はチャット入力欄にリポジトリ ピッカーを表示します。このピッカーを使用して、ワークツリーを作成するリポジトリを選択します。
セッションが開始されると、そのセッションのリポジトリ ピッカーは無効になります。ワークツリーは、「ソース管理リポジトリ」ビューの Worktrees ノードにある、選択したリポジトリの下に表示されます。
ワークスペース内のすべてのリポジトリを表示するには、 scm.repositories.explorer 設定を有効にし、ソース管理ビューを開きます。
Copilot CLI でカスタム エージェントを使用する
カスタム エージェントを使用すると、VS Code のエージェント用にカスタムのペルソナやロールを定義できます。たとえば、コード レビューを実行するためのカスタム エージェントを作成できます。カスタム エージェントは、特定の指示や動作を定義できます。
Copilot CLI セッションを作成するときに、タスクを処理するカスタム エージェントを選択できます。カスタム エージェントは、定義された動作に従って動作します。
Copilot CLI でカスタム エージェントを使用するには
-
github.copilot.chat.cli.customAgents.enabled 設定を使用して、Copilot CLI のカスタム エージェントを有効にします
-
コマンド パレット(⇧⌘P(Windows、Linux は Ctrl+Shift+P))から Chat: New Custom Agent (チャット: 新規カスタム エージェント) コマンドを実行し、ワークスペースにカスタム エージェントを作成します
-
新しい Copilot CLI セッションを作成し、[Agents]ドロップダウンからカスタム エージェントを選択します

-
プロンプトを入力し、カスタム エージェントがタスクの処理に使用されていることを確認します
現在、Copilot CLI セッションではワークスペースで定義されたカスタム エージェントのみが利用可能です。詳細については、カスタム エージェントの作成を参照してください。
Copilot CLI セッションの制限事項
-
Copilot CLI セッションは、VS Code のすべての組み込みツールにアクセスできるわけではありません。チャット入力欄で明示的にコンテキストを追加できます。
-
拡張機能が提供するツールへのアクセス権はなく、CLI ツールを介して利用可能なモデルに制限されています。
-
現在は、認証を必要としないローカルの MCP サーバーにのみアクセスできます。
関連リソース
- エージェントの概要: さまざまなエージェント タイプと、エージェント間でタスクを引き渡す方法を理解する
- カスタム エージェント: カスタムのエージェントのロールやペルソナを作成する
- GitHub Copilot CLI ドキュメント