Visual Studio Code 1.138 が 2026 年 9 月 16 日に登場しました。ここ十数回のリリースで一貫してきたテーマを、今回も引き継いでいます。それは、エージェントはもはやサイドパネルではなく、ワークフローそのものだということです。今回は、エージェントがどこで動くのか、どのように支払い、ツールをまたいで持ち運ぶのか、そしてエージェントが残していく大量の作業をどう扱うのかに焦点が当たっています。

注目の機能は次のとおりです。

  1. ローカルの Dev Container でのエージェントセッション — プロジェクトのツールと依存関係を備えたローカルの Dev Container 内でエージェントを実行
  2. Codex ハーネスの拡張 — アプリをまたいで Codex セッションを継続し、Copilot と ChatGPT のサブスクリプションを選べ、VS Code のツールを利用可能
  3. セッション整理(プレビュー) — マージ済みのセッションを自動的に完了としてマークし、必要に応じて猶予期間後に削除

それぞれが実務で何を意味するのかを、リリースを締めくくる小さな機能とともに見ていきましょう。

ローカルの Dev Container でのエージェントセッション

1.138 で最も影響が大きい変更は、エージェントがプロジェクトの Dev Container 内で実行できるようになったことです。chat.agentHost.devContainer.enabled を有効にすると、サポート対象の Dev Container 構成を持つローカルフォルダーのフォルダーメニューに Use Dev Container アクションが表示されます。これを選ぶと、エージェントセッションはそのコンテナー内で実行されます(Agents ウィンドウのみ)。

理由は明白です。エージェントは、それが動く環境の質を超えられません。マシンにグローバルインストールされた Node、Python、CLI ツールを相手にビルドするコーディングエージェントは、CI やチームメイトの環境と一致しない世界でコードを評価していることになります。セッションを Dev Container 内で実行すれば、エージェントはプロジェクト用に定義された同じツールチェーン、依存関係のバージョン、構成を使います。つまり、開発で既に信頼しているのと同じ環境です。マシンに Docker がインストールされている必要があり、この機能は段階的に展開されているため、今日試すには設定を手動で有効にする必要があるかもしれません。

なぜ重要なのか

Dev Container に標準化しているチームにとって、これは再現性における重要なギャップを埋めます。エージェントが生成したコード、テスト実行、ビルド検証が、気まぐれな開発者ノート PC ではなく、一貫した環境に対して行われるようになります。これにより、エージェントの出力はより信頼できるものになり、何か問題が起きたときに再現しやすくなります。

エージェントホストにおける Codex サポートの拡張

エージェントホスト、すなわち Agent Host Protocol(AHP)に基づく専用プロセスアーキテクチャで、複数の VS Code ウィンドウから同じセッションに接続できるようにするものには、1.138 で Codex の大幅な強化が入ります。chat.agentHost.codexAgent.enabled、そして任意で chat.editor.codex.preferAgentHost を有効にしてください。

特に注目すべきは次の 4 点です。

  • サブスクリプションを選択できます。 GitHub Copilot サブスクリプションまたは ChatGPT サブスクリプションで Codex を利用できます。両方にサインインしている場合は、現在の会話を失うことなく、モデルピッカーから Copilot ベースと ChatGPT ベースのモデルを切り替えられます。
  • アプリをまたいで継続できます。 新しい会話を始めるのではなく、同じ Codex セッションを ChatGPT アプリと VS Code の間で移動できます。
  • デスクトップアプリと対話できます。 ChatGPT アプリがインストールされ、コンピューター操作(computer use)用に構成されている場合、VS Code の Codex ハーネスはその構成を再利用して、コンピューター上のアプリケーションと対話できます。これはどちらのサブスクリプションのモデルでも動作します。
  • VS Code のツールを利用できます。 Codex は、組み込み・拡張機能・MCP の各ツールを含め、VS Code が提供するツール一式を利用できます。ChatGPT ベースのモデルでは、Codex は画像生成ツールをセッション内で直接使用することもできます。

なぜ重要なのか

これは、VS Code が特定のエージェントの所有者になるのではなく、エージェント作業のサーフェス(画面)でありたいという、これまでで最も明確な兆候です。自分のサブスクリプションを持ち込み、ChatGPT アプリとエディターをまたいで単一のセッションを生かし続け、エージェントに VS Code のツールベルト一式を渡せるようにすることで、エディターはハブになります。チームが Copilot シートと ChatGPT サブスクリプションとに分かれている場合、1.138 なら二つを維持するのではなく、ひとつのワークフローを共有できます。

ワークスペースで Codex クイックチャットを継続

バージョン 1.137 では、Copilot セッション向けに、既存のクイックチャットへプロジェクトを紐付ける機能が導入されました。1.138 では同じフローを Codex に拡張したので、プロジェクト固有の作業を始めるために、ワークスペースを持たないクイックチャットを放棄する必要はもうありません。

Codex にローカルフォルダーを紐付けるよう依頼し、そのフォルダーを直接使うか、分離されたワークツリーを作成するかを選びます。変更を確認すると、同じチャットとネイティブの Codex スレッドがワークスペースセッションになります。セッションはタイトル、会話履歴、現在のリクエスト、選択中のモデル、権限モードを保持し、Codex はプロジェクトファイルにアクセスしてリクエストを続行します。

ワークスペースへの変換は、インタラクティブモードのアイドル状態の Codex クイックチャットで利用でき、単一ルートのワークスペースターゲットに対応します。変更がキャンセルされたり適用できなかったりした場合でも、元のワークスペースなしチャットはそのまま利用できるので、試すことにリスクはありません。

なぜ重要なのか

この小さな機能は、静かながら今回のリリースで最も人間らしい部分のひとつです。何気ない質問が本格的な作業に変わるまさにその瞬間こそ、スレッドを失いたくないときです。エージェントホストのセッションはワークスペースから切り離されているため、会話はその移行を生き延びます。

エージェントセッションからプルリクエストを作成

エージェントが作業を終えたら、次はそれをレビューに回す段階です。1.138 では、Agents ウィンドウのエージェントホストセッションからプルリクエストを作成できます。生成されたタイトルと説明を確認・編集し、ドラフト状態を選び、利用可能なマージオプションを構成できる単一のフォームを使います。プルリクエストを直接作成することも、リクエストをエージェントに送ることもでき、好みのオプションは次回のために記憶されます。

Agent Merge オプションは引き続き実験的で、chat.agentMerge.enabled をオンにしたときだけ表示されます。

なぜ重要なのか

「エージェントが終わった」から「チームがレビューできる」までの距離は、かつては手作業の引き継ぎでした。要約をコピーし、タイトルを書き、ベースブランチを選ぶ。PR 作成をセッションに組み込むことで、コンテキストはそれが生成された場所にとどまります。そして、自分で作成するかエージェントにクリックを委ねるかを選べることは、優れたチームメイトの振る舞いを映し出しています。

完了したセッションを整理し続ける(プレビュー)

エージェントを多用するワークフローではセッションがたまっていき、そのほとんどは完了済みです。1.138 では整理用のツールが追加され、完了した作業がセッション一覧を煩雑にしなくなります。

非アクティブなセッションのプルリクエストがすべてマージされると、Agents ウィンドウがそのセッションを完了としてマークすることを提案できます。初回利用時には、Mark as Done アクションがどこにあるかを示すガイドが表示されます。これらの提案を表示するには chat.agentSessions.archiveNudge.enabled を有効にします。

手動操作なしの整理には、chat.agentSessions.autoMarkAsDoneMergedSessionsAfterDays を構成して PR のマージ後に非アクティブなセッションを完了としてマークし、chat.agentSessions.autoDeleteArchivedMergedSessionsAfterDays で別途の猶予期間後にそれらを削除できます。自動整理の両設定は既定で無効です。 セッションのすべてのプルリクエストがマージされたら、Mark as Done の提案で Configure Automatic Cleanup を選ぶと、両方の設定を有効にせずに開けます。

そしてそうです、sessions.markAsDoneConfetti があります。これはセッションを完了としてマークしたときに紙吹雪のアニメーションを表示します。低モーション(reduced-motion)の設定を尊重するあたりが、ただのギミックではなく、本当に気の利いた作りである所以です。

注意が必要なセッションを確認(プレビュー)

整理と対になるのは、エージェントが本当に自分の助けを必要としているタイミングを知ることです。sessions.showApplicationBadge を有効にすると、VS Code は新しい結果、入力の要求、注意が必要なプルリクエストチェックがあるセッションについて、macOS の Dock、Linux のランチャー、Windows のタスクバーにバッジを表示します。ささやかなことですが、作業が待っていることを知るために Agents ウィンドウを前面に置いておく必要がなくなります。

統合されたワークスペースとリポジトリのピッカー(実験的)

エージェント作業の開始が、検索可能な単一のリストになりました。sessions.chat.unifiedWorkspacePicker.enabled を有効にすると、ピッカーはローカルフォルダー、GitHub リポジトリ、クラウドリポジトリ、リモートターゲットをひとつの場所にまとめます。リモート接続のアクションは Remote エントリから引き続き利用できます。

Work in Repository を選ぶと、クラウドファーストのワークフローになります。まだローカルにない GitHub リポジトリは、クローンのプロンプトなしで、Cloud ハーネスとともにただちに選択されます。後でローカルハーネスを選ぶと、VS Code はリポジトリをクローンするよう促し、キャンセルした場合はクラウドの選択を保持します。

Voice Mode のセッション認識の改善(実験的)

1.137 で導入された Voice Mode は、セッション認識が改善されました。Voice Mode を離れることなく、並行するエージェント作業を移動・監視できます。最近のエージェントセッションを見つけ、ラベルで切り替え、各セッションの状態を報告できます。声によるエージェント作業を試してきたなら、複数のセッションが動いているときにこれを実用的にしてくれるのが、この部分です。

カラーテーマ別にチャット背景をカスタマイズ(実験的)

1.136 のチャット背景機能が改善されました。以前は、背景画像はテーマ種別ごとに保存されていましたが、そのレイアウトは保存されていませんでした。そのため、ダーク用の背景を右寄せにしてからライト用を左寄せにしても、両方とも同じ寄せ方になってしまいました。レイアウトは現在、画像と並んでテーマ種別ごとに保存され、ダークテーマとライトテーマを切り替えると、そのテーマの配置が復元されます。

二つの新しい設定 chat.agentSessions.preferredDarkBackgroundImageLayoutchat.agentSessions.preferredLightBackgroundImageLayout が、古い chat.agentSessions.backgroundImageLayout を置き換えます。背景のクリアも移りました。Chat: Set Background…No Background を先頭に表示し、現在使用中のカラーテーマの背景をクリアして、もう一方はそのままにします。この更新は Agents ウィンドウ限定です。

1.138 での廃止(deprecation)

ここ数回のリリースとは異なり、1.138 には実際の廃止(deprecation)が含まれています。同期設定を更新できるよう、ここで触れておく価値があります。

  • chat.agentSessions.backgroundImageLayoutchat.agentSessions.preferredDarkBackgroundImageLayoutchat.agentSessions.preferredLightBackgroundImageLayout に置き換えられ、チャット背景のレイアウトをダークテーマとライトテーマで個別に設定できるようになりました。
  • Chat: Clear Background コマンドは削除されました。現在のカラーテーマの背景をクリアするには、Chat: Set Background…No Background を選びます。

コミュニティの貢献

VS Code 1.138 にはコミュニティからの貢献が含まれています。主なハイライトは次のとおりです。

  • Jacob T. Jove (jacobjove) は、消費されなかったバッファリング済みの pty ホストサービスイベントによって引き起こされるメインプロセスのメモリ不足問題を修正しました
  • Ryan Ewen (RyanEwen) は、Codex MCP ツールの進捗がツール結果に含まれないようにしました
  • Simon Siefke は長年続けているメモリリークの作業を継続し、今回はマーカーテーブルのリークを修正しました
  • Deniz Güney Yıldırım (denizguney)files.exclude 構成の補完テストを更新しました
  • Dhinesh Ponnarasan は完了した進捗通知の破棄(dismiss)を修正しました
  • Vlad Gerasimov (vladstudio) は、切り離されたインスタンスでターミナルエディターの shift-drop が発火する問題を修正しました
  • yutotnh はコミットメッセージの出力を UTF-8 に強制しました
  • Zhichao Li は OTel のガイダンスをエージェントホストのアーキテクチャに合わせました

John Murray、RedCMD、Andrii Dieiev、Alberto Santini によるイシュートラッキングへの貢献が、コミュニティの報告のトリアージと検証に役立ちました。

アップデートすべきか?

はい。VS Code 1.138 は、エージェントに合わせて自分が適応するよう求めるのではなく、エージェントを既存の開発プロセスに適合させることに主眼を置いたリリースです。すでに開発環境をコンテナ化しているチームにとって、Dev Container 連携は際立った機能です。あなたのノート PC で動くエージェントと、あなたのプロジェクトで動くエージェントの違いなのです。拡張された Codex ハーネスは今回のリリースで最も柔軟な部分であり、セッション整理ツールは、1 か月後にセッション一覧がきれいになったときにありがたみを感じるタイプの、いわば後片付け機能です。

マシン間で設定を同期している場合は、二つの廃止予定を忘れないでください。また、自動整理の設定は無効の状態で提供される点に注意してください。これらは意図的に有効化するものなのです。

VS Code はすべてのユーザーへ段階的に展開されています。最新バージョンをすぐに入手するには VS Code の Check for Updates を使うか、新機能を利用可能になり次第試すにはナイトリービルドの Insiders 版をダウンロードしてください。


VS Code 1.138 でお気に入りの機能は何ですか? X で教えてください。これらのアップデートが実際のワークフローでどう役立っているのか、いつも興味を持って聞いています。