G
YouTube TikTok Games

Visual Studio Code 1.146

Downloads for 1.146.0

Windows
x64Arm64

Release highlights

Save your brainpower for the work that needs it. Inbox mode keeps the right sessions on your radar while agents take on model comparisons. Shape your agent workspace around the task with chat windows and extensions.

Happy coding!

Already installed? Use Check for Updates in VS Code. For upcoming features, use the Insiders build.

Agents

Copilot harness and deprecation of the Local harness

The Copilot harness is our latest agent harness and has been the default for new sessions since VS Code 1.143. It's built on the Copilot SDK, a shared foundation that helps align behavior, capabilities, and improvements across Copilot products. Copilot harness sessions run through the Agent Host, so you can keep them running in the background and access them from both the VS Code editor window and the Agents window. For organizations, the Copilot harness also enforces managed sandbox and permission policies that the Local harness doesn't.

Thank you to everyone who has shared feedback on using the Copilot harness as your default. Your feedback has shaped the harness experience, and it will continue to guide us through this next step. As of this release, the Local harness is deprecated and will be removed in three months (February 2027):

  • Next three months: You can still use the Local harness while you move your workflows, but it's functionally frozen. New features and improvements will focus on the Copilot harness and are not guaranteed to be supported by the Local harness.
  • After three months: The Local harness will no longer be available. The vscode.temporaryDefaultToLocalHarness enterprise-managed setting, introduced in VS Code 1.142 to keep the Local harness as the default, will also be removed.

Because the Copilot harness is already the default for new sessions, you might not need to take any new actions. To confirm you're using the Copilot harness, look for Copilot in the harness picker when you start a new session:

Screenshot showing Copilot selected in the harness picker with a hover description of its Copilot SDK and Agent Host integration.

If you still use the Local harness, plan to move completely to the Copilot harness before February 2027. The Local-to-Copilot harness transition guide covers customization compatibility, continuing existing Local conversations, and organization rollout and verification. If you run into any problems, let us know by filing an issue.

Inbox mode for sessions (Experimental)

Setting: sessions.list.inboxEnabled Open in VS Code Open in VS Code Insiders

Keep track of your agents without checking each workspace. Inbox mode gives you one view of what needs your attention, what's still running, and what's ready to merge.

Enable the sessions.list.inboxEnabled Open in VS Code Open in VS Code Insiders setting (off by default), and then select Grouping > Inbox Mode in the Agents window's sessions list.

Screenshot showing Inbox Mode selected in the Grouping menu in the Agents window.

Sessions that need your attention appear at the top, above the Working, Ready to merge, On hold, and Done groups. If a session can wait, use Dismiss from Inbox, Put on Hold, or Snooze to set it aside. Select Undo if you change your mind.

Dismissing a session doesn't archive it. To archive it, select Mark Session as Done.

Screenshot showing sessions needing attention in the Inbox above the Working, Ready to merge, On hold, and Done categories.

Session list inline actions (Experimental)

Setting: sessions.list.inlineActions Open in VS Code Open in VS Code Insiders

Fix failing checks and address review comments directly from the Agents window's sessions list. Enable this setting (off by default) to show inline actions for fixing checks, addressing comments, or both.

Each action sends a request to that row's session or nested session in the background without opening it. The setting does not enable Agent Merge or change action permissions.

Screenshot showing an Address Comments button beneath a session in the Agents window's sessions list.

Chat windows (Preview)

Setting: sessions.chatWindows.enabled Open in VS Code Open in VS Code Insiders

When several chats run at once, keeping them all in one Agents window means switching between them and losing sight of the one you are waiting on. With chat windows, you can open a chat in a window of its own, and arrange that window so that the chat, its editors, and its terminals fit the task.

To try this preview feature in Stable, enable sessions.chatWindows.enabled Open in VS Code Open in VS Code Insiders . It is enabled by default in VS Code Insiders, and off by default in Stable.

Learn more about chat windows in our documentation.

To open a chat in a new window, right-click the session or chat in the sessions list and select Open in > New Window. You can also drag a chat out of the Agents window to create a new window. You can move it back with the Move to Main Window command.

The following video shows opening a chat in its own window.

A chat window can hold several chats from one or more sessions: pick another session in its title bar, drag a chat in from another window, or select New Session (⌘N (Windows, Linux Ctrl+N)) at the left of the title bar to start a new session in that window. Chat windows reopen with their chats and editors after you restart VS Code.

The content within a chat window is organized into parts, which you can arrange freely to fit your workflow.

  • Move parts: Drag a part by the grabber on the top edge of its card to another side of the window, or beside another part. You can also use Move Part Left, Move Part Right, Move Part Up, and Move Part Down.
  • Move tabs between parts: Drag a tab to another part, or drop it on a part's edge to split that part. Use Move Editor to Part or Move Editor into New Part Left/Right/Above/Below to do the same from the Command Palette. Drag an editor tab onto the chat input to attach it to the chat as context.
  • Place the terminal: Dragging the terminal under the editor or under the chat sets Terminal Position to Under Editor or Under Chat. Dropping it on the bottom edge of the window sets Full Width. You can also change the position from the ... menu of the terminal.
  • Switch the layout: Use Configure Layout in the title bar to show the chat, the editor, or both, side by side or stacked. In the stacked layout, Agents: Toggle Chat Conversation collapses the chat to only its input, so the editor takes the rest of the window.

Use Developer: Reset Chat Window Layout to return a window to how it first opened.

The following video shows rearranging a chat window and resetting its layout.

Let us know what you think by filing an issue.

Install and manage extensions in the Agents window (Experimental)

The Extensions section of Agent Customizations lets you choose which installed extensions run in the Agents window without changing their enablement in editor windows. Previously, adding an extension meant switching to an editor window to install it. In this release, you can find, install, and uninstall extensions without leaving the Agents window:

  • Install from the Marketplace: Searching also queries the Marketplace and lists matching extensions that you don't have yet, with their publisher, install count, and rating. Installing an extension adds it to VS Code and enables it in the Agents window. To install a different version, such as a pre-release, use the dropdown next to Install.
  • Know what won't work before installing: Extensions that contribute views, debuggers, status bar items, or walkthroughs without declaring support for the Agents window show a warning that lists the unsupported features. Extensions that can't be installed, for example because your organization doesn't allow them, show the reason.
  • Open with a keyboard shortcut: Press ⇧⌘X (Windows, Linux Ctrl+Shift+X) or run Extensions: Manage Extensions to open the section. If you changed the shortcut for the Extensions view in editor windows, your shortcut also works in the Agents window.

Screenshot showing the Extensions section in the Agents window.

Model comparison improvements (Preview)

Setting: sessions.chat.compareAgents.tools.enabled Open in VS Code Open in VS Code Insiders

Compare Models in the Agents window lets you run the same prompt across models, evaluate their results with a judge, and combine their strengths with a synthesizer. This release makes comparisons easier to configure, organize, and automate:

  • Judge and synthesize chat-only responses: Add a judge and synthesizer without selecting a workspace. Synthesis starts when you select Synthesize and creates a new chat without changing the original attempts.
  • Compare Copilot Fusion: Select Fusion and its supported effort tiers for an attempt, the judge, or the synthesizer.
  • Let an agent run evaluations (Experimental): Enable sessions.chat.compareAgents.tools.enabled Open in VS Code Open in VS Code Insiders to let agents discover models, launch comparisons, and read results and conversation references to summarize findings across scenarios. The tools are off by default and require Compare Models to be enabled. Disabling them still leaves manual comparisons available.

Canvases improvements (Preview)

Setting: chat.canvases.enabled Open in VS Code Open in VS Code Insiders

Canvases are shared, interactive surfaces where you and Copilot work together on plans, dashboards, and other artifacts. This release adds permission prompts and improves canvas discovery and continuity:

  • Permissions for canvas extensions: In Copilot harness sessions, canvas extensions ask for your approval before initializing privileged capabilities, such as hooks.
  • Find and reopen canvases: Canvas menus distinguish Running canvases from Available canvases you can create new instances for. In the Agents window, actions to create or install canvases appear under Discover More.
  • Resume without another prompt: When you return to an inactive Copilot harness session, its canvases restore without sending another message.
  • Smoother reconnection: While a canvas provider restarts, the last canvas image stays visible with a reconnecting indicator.
  • Keep canvases with their chats: In separate chat windows, canvas tabs close when their chat leaves the window and can reopen alongside it. Canvases also restore after a window reload without taking focus.

Configure computer sharing (Experimental)

Setting: sessions.chat.experimental.remoteEnvironmentsThisComputer Open in VS Code Open in VS Code Insiders

The Remote Environments editor in the Agents window is a central place for managing remote connections. In this release, you can now manage how this computer is shared with other clients. Regardless of whether sharing is enabled, local sessions continue to run directly on this computer.

Share this computer through GitHub Environments or Dev Tunnels, or turn sharing off. You can also change the computer name that other clients see.

Open the editor with Manage Remote Environments from the Environment picker in chat, the Command Palette, or the title bar's Remote Connections menu (antenna icon), which also offers the same sharing options.

Screenshot showing the This Computer section of the Remote Environments editor, sharing via Dev Tunnels under the name dev-workstation, above the Other Environments table.

Learn more about making a host available for remote access.

Agent Host support for virtual repositories

VS Code supports virtual workspaces, allowing you to do things like viewing a GitHub repository without having to clone it.

The Copilot harness previously did not work in virtual repositories. In this release, we added support for virtual repositories, so you can use the same Copilot features and workflows as you do in local folders.

Chat

Continue a Copilot CLI session in VS Code (Experimental)

When you're working with the GitHub Copilot CLI in a terminal outside VS Code, you can now move the session into VS Code and keep going.

Enter /code in the CLI, or /code-insiders for VS Code Insiders. The CLI exits, and VS Code opens the same session in the Chat view of the window for the session's folder, starting VS Code if it isn't running. The session keeps its conversation history, its model and reasoning effort, and its mode and permissions.

The /code command is experimental in Copilot CLI. It requires Copilot CLI 1.0.107 or later, with experimental features turned on (/settings experimental on). Permissions that apply only to the CLI process, such as --allow-tool or approvals you granted for the session, don't carry over, and the CLI lists them before handing off. If another Copilot CLI process still has the session open, VS Code asks before opening it. To return to the CLI, run the copilot --resume command that the CLI shows when it hands off.

Configurable shortcut for the background send action

Setting: chat.sendInBackgroundTip.enabled Open in VS Code Open in VS Code Insiders

Start a new session without opening it by pressing ⌘Enter (Windows, Linux Ctrl+Enter) in the Agents window composer. You can rebind or remove the shortcut for Chat: Send in Background in Keyboard Shortcuts.

An optional tip shows your configured shortcut and links to Keyboard Shortcuts. Enable it with chat.sendInBackgroundTip.enabled Open in VS Code Open in VS Code Insiders (Experimental, off by default).

MCP

Skills over MCP (Preview)

Setting: chat.agentHost.mcpSkills.enabled Open in VS Code Open in VS Code Insiders

This release of VS Code adds support for SEP-2640 Skills over MCP, allowing MCP servers to automatically provide skills to the model.

The first time you connect to an MCP server that provides skills, you are asked to allow them into your model context. Afterwards, the model can interact with these skills and you can see them on the Skills tab of the Agent Customizations editor.

Trust and security

Improved permission prompts

The Copilot harness previously suggested overly broad tool-level allowances for operations like web fetches, terminal commands, and file reads. For example, the default action for fetching a URL was "Allow in this Session", which would let the model access any URL during that session.

Now, permission prompts are more granular, by default adding allowances for specific domains, commands, and directories.

Mask environment variables in the sandbox

Setting: chat.agent.sandbox.credentials.envVars Open in VS Code Open in VS Code Insiders

To protect sensitive information, you can configure which environment variables are masked in sandboxed sessions and hidden from agent tools. Sandboxed tools receive placeholders, and the real values are supplied only to approved HTTPS destinations.

In this example, sandboxing replaces the value of the API_TOKEN environment variable with a placeholder. The real value is restored only in outgoing HTTPS requests to hosts listed in injectHosts, here api.example.com. Requests to other hosts retain the placeholder and don't receive the actual value.

{
  "chat.agent.sandbox.credentials.envVars": {
    "API_TOKEN": {
      "injectHosts": ["api.example.com"]
    }
  }
}

Enter variable names, not secret values, in settings. On Windows, environment variable masking requires local-network access. On macOS and Windows, trust the sandbox CA certificate for tools that require OS certificate trust.

See sandbox network access and certificate trust for more information.

Sandbox status in the chat input

See whether terminal sandboxing is enabled without opening the Permissions menu. In both the editor and the Agents window, the empty chat input shows (sandbox enabled) when Sandboxing for terminal is on. The placeholder stays in sync as you switch chats or change the setting.

Screenshot showing the chat input placeholder reading Chat with Copilot (sandbox enabled).

Accessibility

Visible keyboard focus on Welcome

The Welcome page shows a visible outline when the page itself has keyboard focus, so you can track your position while navigating. The page remains focusable for screen reader users.

Editor Experience

Mermaid 12 support

VS Code now uses Mermaid 12 when rendering Mermaid diagrams in chat, Markdown previews, and notebooks. You can use new diagram types, including use-case diagrams, and benefit from updated automatic layout behavior.

Copy the address of local HTML files in the Integrated Browser

When you preview a local HTML file in the Integrated Browser, you can select and copy its file:// address to paste it into an external browser or a terminal.

Enterprise

Copilot sessions behind enterprise proxies

Copilot sessions follow VS Code's proxy configuration, including proxy auto-configuration (PAC) and Kerberos authentication, when running locally, in WSL, or in a local Dev Container. Your organization's routing rules can select different proxies or a direct connection for each destination, rather than forcing requests through a single proxy.

Organizations can direct blocked developers to their own help page by setting communication.support.url in enterprise-managed settings. We recommend pointing this URL to a page where employees can find their organization's Copilot usage policies and support guidance. A valid absolute HTTP or HTTPS URL adds Contact Admin links to supported policy restrictions, such as disabled Agents or organization-disabled models.

For example, in your organization's managed settings:

{
  "communication": {
    "support": {
      "url": "https://ai.example.com/your-companys-ai-landing-support-page"
    }
  }
}

Enterprise controls for canvas extensions

In Copilot harness sessions, strictPluginOnlyCustomization already restricted standalone skills, agents, hooks, and MCP servers. It now also blocks standalone canvas extensions from user, project, and session directories, so administrators can require that any canvas extensions used come from eligible plugins.

In enterprise-managed settings, use true to block all supported standalone categories while allowing eligible plugin content:

{
  "strictPluginOnlyCustomization": true
}

To restrict only selected categories, replace true with a list containing any of "skills", "agents", "hooks", "mcp", and "extensions".

Note: VS Code's boolean-only ChatStrictPluginOnlyCustomization policy does not control canvas extensions. The Copilot SDK manages them, so use the Copilot managed setting above.

See the enterprise-managed settings reference for policy details.

Deprecated features and settings

New deprecations in this release

Upcoming deprecations

None

Notable fixes

Fixed overcounting in agent edit metrics

Agent edit metrics reported through GitHub Copilot usage metrics no longer count unchanged text between edits as newly added or deleted code.

Thank you

Issue tracking

Contributions to our issue tracking:

Pull requests

Contributions to vscode:


We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new.

If you'd like to read release notes for previous VS Code versions, go to Updates on code.visualstudio.com.