VS Code Agents windowでは、2026年7月のアップデートにより、自分でAPIキーを用意するBYOKモデルをCopilot agentでも利用できるようになりました。従来、BYOKモデルはVS Code 1.99以降のエディター内Chatで使えましたが、今回の変更でAgent Host上のCopilotを通じてAgents windowからも選択できます。(The GitHub Blog)
利用するには、既存のBYOKモデルを登録したうえで、chat.agentHost.enabledとchat.agentHost.byokModels.enabledを有効化し、Agent Hostを再起動します。その後、Agents windowでCopilotの実行基盤を選び、モデルピッカーからBYOKモデルを指定します。機能はまだ実験段階のため、表示されない場合の確認点や、Copilot契約との関係も理解しておくことが重要です。(Visual Studio Code)
VS Code Agents windowのBYOK対応で何が変わったのか
BYOKは「Bring Your Own Key」の略で、OpenAI、Anthropic、AzureなどのAPIキーや、社内のAIゲートウェイ、ローカルモデルをVS Codeに登録して利用する仕組みです。
2026年7月の変更は、BYOK機能そのものの新設ではありません。エディター内のChatで利用できていたBYOKモデルを、Agents windowのCopilot agentへ拡張したアップデートです。
時系列で整理すると、次のようになります。
| 時期 | VS Codeの変更 | 実務上の意味 |
|---|---|---|
| 2025年3月・VS Code 1.99 | エディター内ChatでBYOKをプレビュー提供 | 自分のAPIキーで任意のモデルを利用可能 |
| 2026年7月8日・VS Code 1.128 | Agent HostのCopilotセッションでBYOKを実験的にサポート | Agent Host経由でもBYOKモデルを使用可能 |
| 2026年7月15日・VS Code 1.129 | Agents windowでCopilot harnessを選択した際のBYOK対応を明記 | Agents windowからBYOKモデルを選択可能 |
| 2026年7月30日 | VS Code 1.127~1.131の7月更新として公式に整理 | 7月の主要なCopilot・Agents window改善の一つとして案内 |
VS Code 1.128ではchat.agentHost.byokModels.enabledが実験的設定として追加され、1.129では「Agent Host上で動くCopilot harnessを選択した場合、Agents windowでBYOKモデルを利用できる」と明記されています。(Visual Studio Code)
BYOKモデルをAgents windowで使う前提条件
設定を始める前に、次の条件を確認してください。
| 確認項目 | 判断基準 |
|---|---|
| VS Codeのバージョン | BYOKのAgent Host対応が記載された1.128以降。可能であれば1.131以降へ更新 |
| Agents window | タイトルバーやコマンドパレットから開けること |
| Agent Host | chat.agentHost.enabledを有効化できること |
| BYOKモデル | VS CodeのLanguage Modelsに登録済みであること |
| モデル機能 | Tool Callingに対応していること |
| 組織ポリシー | BYOKやAgent Hostが管理者によって禁止されていないこと |
| API利用環境 | APIキー、エンドポイント、利用枠、課金設定が有効であること |
Agents windowはプレビュー機能です。公式ドキュメントではVS Code Insidersへの組み込みも案内されているため、Stable版で「Open in Agents」が見つからない場合は、最新バージョンへの更新に加えてInsiders版も確認してください。(Visual Studio Code)
モデルはTool Calling対応が必須
通常の質問応答だけであれば、文章生成に対応したモデルでも利用できます。しかし、Copilot agentはファイルの読み取り、コード編集、検索、ターミナル実行などのツールを呼び出します。
そのため、Agents windowのモデルピッカーに表示するには、モデルがTool Callingに対応している必要があります。カスタムモデルをJSONで登録する場合は、モデル設定に次の指定が必要です。
"toolCalling": true
Tool Callingに対応していないモデルは、Language Modelsの一覧に登録できても、エージェント用のモデルピッカーには表示されないことがあります。(Visual Studio Code)
BYOKとCopilot契約の関係
BYOK機能単体は、VS CodeのChatでGitHubアカウントやCopilotプランを使用せず、自分のモデルだけで利用できる仕組みとして案内されています。一方、現行のAgents windowドキュメントでは、GitHub認証とGitHub Copilotへのアクセスが前提条件です。(Visual Studio Code)
つまり、次のように分けて考える必要があります。
- エディター内ChatでBYOKモデルを使うだけなら、Copilotプランなしで利用できる構成がある
- Agents windowでCopilot agentを動かす場合は、Agents window側の認証・利用条件も満たす必要がある
- BYOKモデルを選んでも、コード補完やセマンティック検索など、別のCopilot機能までBYOKへ置き換わるわけではない
Copilot BusinessまたはCopilot Enterprise環境では、管理者がGitHub上のポリシーでBYOKを許可する必要があります。また、chat.agentHost.enabled自体が組織管理されている場合、利用者側では変更できません。(Visual Studio Code)
VS Code Agents windowでBYOKモデルをCopilot agentに使う方法
VS Codeを更新する
まずVS Codeを更新します。
Windowsでは、メニューから次の順に選択します。
Help
→ Check for Updates
macOSでは、次のメニューを使用します。
Code
→ Check for Updates
BYOKモデルのAgent Host対応はVS Code 1.128で実験的に導入され、1.129でAgents windowからの利用が明記されています。互換性や不具合修正を考えると、特別な理由がなければ2026年7月最終版の1.131以降を使用するのが安全です。(Visual Studio Code)
BYOKモデルを登録・確認する
エディター内のモデルピッカーから、Language Models管理画面を開きます。
- VS CodeのChatを開く
- 入力欄にあるモデル名を選択する
- 歯車アイコンの「Manage Language Models」を選択する
コマンドパレットから次のコマンドを実行しても開けます。
Chat: Manage Language Models
Language Models画面で「Add Models」を選び、使用するプロバイダーを指定します。組み込みプロバイダーのほか、モデル提供拡張機能やCustom Endpointも利用できます。
一般的に入力する項目は次のとおりです。
- APIキー
- エンドポイントURL
- モデルIDまたはデプロイ名
- 表示名
- API形式
- 入力・出力トークン数
- Tool Calling対応の有無
- 画像入力対応の有無
設定内容によっては、chatLanguageModels.jsonが自動的に開きます。(Visual Studio Code)
Custom Endpointの設定例
OpenAI互換APIや社内AIゲートウェイなどを接続する場合は、Custom Endpointを利用できます。
[
{
"name": "My Provider",
"vendor": "customendpoint",
"apiKey": "${input:myProviderApiKey}",
"apiType": "responses",
"models": [
{
"id": "<model-id>",
"name": "My BYOK Model",
"url": "https://example.com/v1/responses",
"toolCalling": true,
"vision": false,
"maxInputTokens": 100000,
"maxOutputTokens": 16000
}
]
}
]
apiTypeには、接続先に応じて次のいずれかを指定します。
chat-completionsresponsesmessages
urlには、可能であれば/chat/completions、/responses、/messagesまで含めた完全なAPIパスを指定すると、パス解決の違いによるエラーを避けやすくなります。
また、maxInputTokensとmaxOutputTokensの合計が、モデル本来のコンテキストウィンドウを超えないように設定してください。(Visual Studio Code)
Agent HostとBYOK連携を有効にする
VS Codeのユーザー設定に、次の2項目を追加します。
{
"chat.agentHost.enabled": true,
"chat.agentHost.byokModels.enabled": true
}
設定画面から変更する場合は、Ctrl+,でSettingsを開き、次の文字列を検索します。
agent host
続いて、次の設定を有効化します。
Chat: Agent Host Enabled
Chat: Agent Host BYOK Models Enabled
chat.agentHost.byokModels.enabledは実験的設定です。組織管理の端末では、chat.agentHost.enabledに鍵アイコンや「Managed by your organization」と表示され、変更できない場合があります。その場合はGitHub CopilotまたはVS Codeの管理者へ確認が必要です。(Visual Studio Code)
Agent Hostを再起動する
chat.agentHost.byokModels.enabledは、設定をオンにしただけでは既存のAgent Hostプロセスへ反映されません。公式リリースノートでは、設定後にAgent Hostプロセスを再起動する必要があると説明されています。(Visual Studio Code)
再起動方法が画面上で分からない場合は、次の手順が確実です。
- 実行中のエージェント処理を終了する
- Agents windowを閉じる
- すべてのVS Codeウィンドウを閉じる
- VS Codeを起動し直す
- Agents windowを再度開く
単にSettingsを閉じるだけでは反映されない可能性があります。
Agents windowを開く
Agents windowは、次のいずれかの方法で開けます。
- VS Codeのタイトルバーにある「Open in Agents」を選択する
- コマンドパレットで
Chat: Open Agents Windowを実行する - ターミナルから
code --agentsを実行する - VS CodeのWelcome画面から開く
Agents windowは通常のエディターとは別の専用ウィンドウとして開き、複数ワークスペースのエージェントセッションをまとめて管理できます。(Visual Studio Code)
CopilotとBYOKモデルを選ぶ
Agents windowを開いたら、次の順に新しいセッションを作成します。
- サイドバー上部の「New」を選択する
- 対象のローカルフォルダーまたはリポジトリを選択する
- Agent Host上で動作するCopilotのharnessを選択する
- モデルピッカーを開く
- 登録したBYOKモデルを選択する
- 必要に応じて権限設定とNew Worktreeを指定する
- プロンプトを入力してセッションを開始する
今回のBYOK対応は、Copilot harnessをAgent Host上で実行する構成が対象です。ClaudeやCodexなど別のharnessを選んでいる場合、同じBYOKモデルが表示されるとは限りません。(Visual Studio Code)
既存プロジェクトを直接変更したくない場合は、New Worktreeを有効にするのがおすすめです。エージェントの変更を別フォルダーに分離し、確認後にメインワークスペースへ統合できます。(Visual Studio Code)
小さなタスクで動作確認する
最初から大規模なリファクタリングを依頼するのではなく、次のような読み取り中心のタスクで確認します。
このリポジトリのREADME.mdと主要な設定ファイルを読み、
ファイルを変更せずにプロジェクト構成を説明してください。
正常に応答したら、小さな編集を依頼します。
README.mdに開発環境の起動手順を追加してください。
実行前に変更内容を説明し、既存の記述は削除しないでください。
確認するポイントは次のとおりです。
- 選択したBYOKモデル名が表示されている
- ファイル読み取りツールを呼び出せる
- 変更内容が差分表示される
- ターミナル実行時に承認画面が表示される
- API側でリクエスト履歴や利用量を確認できる
BYOKモデルが表示されない・動かない場合の確認点
| 症状 | 主な原因 | 対処方法 |
|---|---|---|
| モデルピッカーにBYOKモデルがない | Tool Calling非対応 | モデルの仕様を確認し、対応モデルへ変更する |
| Language ModelsにはあるがAgentでは出ない | toolCallingが未設定 | chatLanguageModels.jsonでtoolCalling: trueを確認する |
| Agent HostのCopilotが選べない | chat.agentHost.enabledが無効 | 設定を有効化してVS Codeを再起動する |
| 設定後もモデルが表示されない | Agent Hostが再起動されていない | VS Codeを完全終了して起動し直す |
| 設定が変更できない | 組織ポリシーで管理されている | CopilotまたはVS Code管理者へ確認する |
| 401または403エラー | APIキー、権限、利用枠の問題 | キー、契約状態、請求設定、モデル権限を確認する |
| 404エラー | URLやAPIパスが誤っている | /responsesなどを含む完全なURLを確認する |
| 400エラー | API形式やパラメーターが非対応 | apiType、temperature、top_pを確認する |
| ツール呼び出しが途中で失敗する | モデルのTool Calling精度が低い | 別モデルで同じタスクを試す |
| セッション名やコミット文が生成されない | Utility Modelが未設定 | chat.byokUtilityModelDefaultなどを確認する |
| Open in Agentsが見つからない | プレビュー配布またはバージョンの問題 | 更新確認後、VS Code Insidersも試す |
モデルの表示・非表示はLanguage Models画面の目アイコンでも変更できます。モデルを登録済みでも非表示になっている場合は、可視状態へ戻してください。(Visual Studio Code)
BYOK利用時に注意すべきセキュリティとコスト
APIキーを設定ファイルへ直書きしない
次のようにAPIキーを直接記述すると、設定ファイルの共有やGitへの誤コミットによって漏えいする危険があります。
"apiKey": "sk-example-secret-key"
代わりに、入力変数を使用します。
"apiKey": "${input:myProviderApiKey}"
公式ドキュメントでも、APIキーを生の文字列でコミットせず、入力変数を使って安全に保存する方法が推奨されています。(Visual Studio Code)
BYOKを業務で利用する場合は、少なくとも次を確認してください。
- 個人用APIキーをチームで共有しない
- 開発用と本番用のキーを分ける
- APIキーに必要以上の権限を与えない
- プロバイダー側で利用上限を設定する
- 送信されるソースコードの範囲を確認する
- 社内規程で許可されたエンドポイントだけを利用する
- キーを漏えいした場合に即時失効できる体制を作る
ローカルモデルでも完全オフラインとは限らない
VS CodeのBYOK機能は、ローカルモデルを使ったオフライン構成にも対応しています。一方、Agents windowはGitHub認証やCopilotアクセスを前提としているため、モデル推論をローカル化しただけでAgents window全体が完全オフラインになるとは限りません。(Visual Studio Code)
また、BYOKが主に置き換えるのはChatや一部のUtility Modelです。次の機能は別扱いです。
- インラインコード補完
- セマンティック検索
- 埋め込みを利用する機能
- 一部のGitHub連携機能
「BYOKモデルを設定すれば、VS Code内のすべてのAI処理がそのモデルへ切り替わる」と考えないようにしてください。(Visual Studio Code)
ローカルのOllamaモデルを利用する場合、現在の公式ドキュメントでは組み込みOllamaプロバイダーではなく、Ollama提供の公式VS Code拡張機能を使用する方法が案内されています。(Visual Studio Code)
モデル性能よりTool Callingの安定性を優先する
Agents windowで重要なのは、一般的なベンチマークスコアだけではありません。
実務では次の能力が結果を左右します。
- ツール呼び出しの形式を正しく生成できる
- 複数回のツール実行を継続できる
- ファイル変更の指示を正確に守れる
- 長いコードベースを扱える
- エラー発生後に自己修正できる
- 不要なファイルを変更しない
- ターミナル実行前に適切な判断ができる
同じモデルでも、API形式やプロバイダーの実装によってTool Callingの安定性が変わることがあります。まずは読み取り、単一ファイル編集、テスト実行の順に検証し、問題がなければ対象範囲を広げてください。
BYOKモデルとCopilot提供モデルの使い分け
| 判断基準 | Copilot提供モデルが向く場合 | BYOKモデルが向く場合 |
|---|---|---|
| 導入の手軽さ | API設定を行いたくない | APIやエンドポイントを管理できる |
| モデルの選択肢 | Copilot内のモデルで十分 | 未提供モデルや独自モデルを使いたい |
| 社内統制 | Copilotの管理機能へ統一したい | 社内AIゲートウェイを経由させたい |
| データ管理 | GitHubの提供条件に合わせられる | 特定プロバイダーや自社環境へ限定したい |
| ローカル実行 | 不要 | ローカルモデルを試したい |
| 課金管理 | Copilot側の契約へまとめたい | プロバイダー別に予算を管理したい |
| 保守負担 | 設定や互換性対応を減らしたい | API変更やモデル更新へ対応できる |
| 機能の安定性 | 安定した統合を優先する | 実験的機能でも柔軟性を優先する |
BYOKは、単純にCopilotの料金を置き換えるためだけの機能ではありません。特に効果が大きいのは、次のようなケースです。
- 社内で承認されたAzureやAIゲートウェイだけを使いたい
- Copilot未対応の新しいモデルを早く検証したい
- コードレビューと実装でモデルを使い分けたい
- ローカルモデルのTool Calling性能を検証したい
- 部署やプロジェクトごとにAPI利用量を分離したい
- 特定リージョンやデータ保持条件を満たす必要がある
一方、APIキー管理、モデル互換性、Tool Callingの検証に手間をかけたくない場合は、Copilotが標準提供するモデルを利用する方が運用しやすいでしょう。
VS Code Agents windowのBYOK対応を安全に試す手順
VS Code Agents windowでBYOKモデルを利用する際は、次の順で進めると失敗を減らせます。
- VS Codeを1.128以降、できれば新しいバージョンへ更新する
- Language Models画面でBYOKモデルが動作することを確認する
- Tool Calling対応モデルを選ぶ
chat.agentHost.enabledを有効にするchat.agentHost.byokModels.enabledを有効にする- VS CodeとAgent Hostを再起動する
- Agents windowでAgent Host上のCopilotを選ぶ
- モデルピッカーからBYOKモデルを指定する
- 読み取りだけの小さなタスクで検証する
- New Worktreeを使い、変更内容を確認してから統合する
今回のアップデートにより、VS CodeのBYOKモデルは単なるチャット用途から、ファイル編集やコマンド実行を伴うエージェントワークフローへ利用範囲が広がりました。ただし、BYOK連携は実験的機能です。まずは検証用リポジトリと少額のAPI利用上限で試し、Tool Callingの精度、データ送信先、料金、組織ポリシーを確認してから本格導入するのが安全です。

コメント