← 输入框|code.visualstudio.com|刷新

Visual Studio Code 1.145

Downloads for 1.145.0

Windows
x64Arm64

Release highlights

This week, your remote agent sessions feel a bit more local. Preview apps and use canvases right in VS Code, fine-tune automation schedules with cron, and turn down the noise in chat. And when you need a break, Blobby is ready to play.

  • Remote agents: Preview apps and use interactive canvases from remote agent sessions without leaving the Agents window.

  • Automations: Run recurring agent tasks on custom schedules beyond the built-in presets with cron.

  • Agent verbosity: Keep chats concise or see the full details of the agent's reasoning and tool calls, your choice.

  • File exclusions: Exclude folders while keeping the files you need visible and searchable.

  • Fun: Take a short break with a platform-jumping game starring Blobby, the VS Code pet.

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

Remote agents

Browse over remote agent host connections (Preview)

Setting: workbench.browser.enableRemoteProxy Open in VS Code Open in VS Code Insiders

When an agent session runs on a remote agent host, the integrated browser in the Agents window now loads pages through that host, as it already does in remote workspaces. When the agent starts a dev server on the remote machine, you can open it right in the Agents window to preview the app, validate the agent's changes, and give it feedback, as you would in a local session.

Screenshot showing the URL bar in the integrated browser, showing 'Connected via kyles-mbp'.

Enable workbench.browser.enableRemoteProxy Open in VS Code Open in VS Code Insiders to try it out, and file any issues you encounter in the VS Code repository.

Remote canvases (Preview)

Settings: workbench.browser.enableRemoteProxy Open in VS Code Open in VS Code Insiders , chat.canvases.enabled Open in VS Code Open in VS Code Insiders

Thanks to the remote agent host connections support, you can now also use canvases that are hosted on a remote agent host.

Enable chat.canvases.enabled Open in VS Code Open in VS Code Insiders and workbench.browser.enableRemoteProxy Open in VS Code Open in VS Code Insiders to try it out, and file any issues you encounter in the VS Code repository.

Agents

Mix and match agent harnesses in one session (Preview)

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

Nested sessions let you keep related conversations together within a single main chat session. Previously, every nested session inherited its parent session's harness. If you wanted a second opinion from another agent, you had to start a separate session and lose that grouping.

In this release, nested sessions can use different harnesses than their parent session. For example, ask Claude to review the plan that a Copilot chat wrote, or give Codex the same task, side by side in the same session. When you create a new nested session, use the harness picker to switch to a different harness.

Each chat has its own model, agent, and permission levels, based on its harness. Changing them in one chat doesn't affect the others. When you move a chat, it keeps its history and continues with its selected harness. When you fork a nested session, it continues with the same configuration.

A chat that uses a different harness than its session names its harness when you hover over its chat tab or its row in the sessions list.

Enable chat.agentHost.multipleChatProviders.enabled Open in VS Code Open in VS Code Insiders to get started. Let us know what you think by filing an issue.

Cron schedules and custom agents for local automations

Instead of manually running agent tasks one by one, you can use automations to schedule and run them automatically, either on demand or on a set schedule.

This release gives you more flexibility for local automations and keeps the Automations view focused on active work:

  • Use cron schedules: Select Cron to enter a five-field cron expression when the other schedule presets aren't precise enough. The dialog validates the expression and describes the resulting schedule. Cron schedules are not available for cloud automations.

  • Use workspace custom agents: Choose a custom agent from the selected workspace when you create or edit a local automation.

  • Focus on active automations: Disabled automations appear in a collapsed Disabled automations section, so they don't obscure run history and active automations.

Screenshot showing the Cron schedule editor for a local automation.

Learn more about creating and managing agent automations.

Pin canvases to sidebar (Experimental)

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

To make it easier to access frequently used canvases, you can now pin a canvas to appear in the left sidebar. To pin a canvas, open it and select the Add to Sidebar button above the canvas. Pinned canvases remain accessible in the sidebar even when you navigate away from them.

Copilot harness

The Copilot harness continues to be the default for new sessions in VS Code. It's our latest harness, built on the Copilot SDK, a shared foundation that helps align behavior, capabilities, and improvements across Copilot products.

When you start a new session, Copilot in the harness picker indicates that the session uses the Copilot harness. In VS Code, you can keep Copilot harness sessions running in the background and access them from both the VS Code editor window and the Agents window. These sessions run through the Agent Host.

To help you adopt the Copilot harness with your existing workflows, we've added a Local-to-Copilot harness transition guide. It covers customization compatibility, session continuity, and organization rollout and verification.

Thank you for the feedback that continues to shape these improvements. Please continue filing issues about your experience, especially if a workflow or integration prevents your organization from moving off the Local harness.

Learn how to work with the Copilot harness, or explore the architecture and workflows in the agent host blog post.

Working set improvements (Experimental)

Setting: chat.editor.workingSet.enabled Open in VS Code Open in VS Code Insiders

Last release, we introduced the working set for Copilot harness sessions, letting you review pending agent edits. You can keep or undo changes, as you could do with the Local harness.

Screenshot of the working set in Copilot harness sessions.

We are further improving the working set experience in Copilot harness sessions:

  • Files in WSL, Dev Containers, and SSH workspaces open from the working set on the correct host.
  • When several tool calls edit the same file in parallel, the working set tracks those edits and the editor's inline review controls remain available after editing finishes.

The working set functionality remains enabled by default in the editor window. Learn more about reviewing agent edits with the working set, including which edits it tracks.

Improved guidance when required sandboxing is unavailable

Agent sandboxing limits what terminal commands can access, like the file system and network resources. Your organization can require it with managed settings that disallow bypassing the sandbox.

If your organization requires sandboxing but your machine can't run it, the warning banner explains why terminal commands are blocked and how to resolve the problem. It shows the specific cause, such as a missing dependency, and links to troubleshooting steps.

If your account and organization support cloud sessions (Experimental), consider running agent tools in the cloud instead of on your machine.

Chat

Choose agent verbosity (Experimental)

Setting: chat.persistentProgressVerbosity Open in VS Code Open in VS Code Insiders

Keep long chats readable, or follow the agent's reasoning and tool calls in detail when you need to understand its actions. Open the Chat view's More Actions menu and select View Mode:

  • Conversation: Focus on the conversation. Reasoning and tool calls are grouped into collapsed sections between blocks of response text. Expand a section to inspect its details.
  • Verbose: Follow each step with tool calls expanded, without an internal scrolling limit on tool groups.
  • Compact (default): Preview tool calls while they run, then collapse completed groups to expandable summary rows.

You can switch modes without starting a new chat. The modes change how the conversation is displayed, not its context or the work the agent performs.

With persistent progress enabled, the active progress indicator stays above the chat input while you scroll back through a response. If you prefer an animated input border instead, enable chat.progressBorder.enabled Open in VS Code Open in VS Code Insiders .

Chat performance improvements

Reopen and browse long Copilot harness chats more smoothly. VS Code reuses existing reasoning titles and renders terminal output as you reveal it. Terminal output in restored tool calls is rendered when you expand or reveal it, rather than all at once.

This release also reduces repeated progress updates and layout measurements when restoring and navigating long conversations.

Inline chat attachments (Experimental)

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

Keep file references and other context next to the instructions they belong to. Enable this setting to insert attachment pills at the cursor in your prompt, rather than in a separate row above the input.

Move across, select, or delete an attachment pill as a single character. Previous messages keep the pills inline, so references stay with the surrounding instructions.

Inline attachments are on by default in Insiders and off by default in Stable.

Screenshot showing file and image attachment pills inline with the surrounding text in the chat input.

Attach files from anywhere on your computer

Previously, to give chat a file outside your workspace, such as a screenshot or mockup on your desktop, you had to drag it in from your file manager or ask the agent to find it. Select Add Context (+) > Files to choose one or more files with the standard file dialog, even in a new chat without a workspace. In cloud sessions, the chooser lists only images.

Screenshot showing the Add Context menu in chat with the Files entry above Image from Clipboard and Screenshot Window.

When sandboxing is enabled in Copilot harness sessions, the agent can read the files and folders you attach, even when they're outside the workspace. Each attached path is readable for the rest of the session, but the agent can't write to it, and the access isn't saved to your settings. With Manual permissions, the agent no longer asks before reading an attached file. If your organization's managed settings define their own list of readable paths, attachments aren't added to it.

MCP

Support for tools provided by MCP apps

MCP apps are interactive interfaces provided by MCP servers. They can now register tools that the language model can call in its next request.

For example, the ShaderToy server lets the model iterate on shaders in real time.

Managed MCP allowlist precedence

For MCP servers started by VS Code, the enterprise-managed allowedMcpServers list takes precedence over registry-only access, so your organization can approve servers without publishing them to its registry. See the Enterprise section on managed MCP allowlists for configuration details and restrictions.

Editor Experience

Show specific files in excluded folders

Settings: files.exclude Open in VS Code Open in VS Code Insiders , search.exclude Open in VS Code Open in VS Code Insiders

You can filter which files and folders are shown in the Explorer, Search, and Quick Open by using the files.exclude Open in VS Code Open in VS Code Insiders and search.exclude Open in VS Code Open in VS Code Insiders settings.

To keep part of an excluded folder visible, prefix a pattern with ! in files.exclude Open in VS Code Open in VS Code Insiders . Matching files and folders show in the Explorer, Search, and Quick Open, even when another pattern or .gitignore excludes them. Exceptions in search.exclude Open in VS Code Open in VS Code Insiders apply only to Search and Quick Open.

"files.exclude": {
    "node_modules": true,
    "!node_modules/@types": true
}

Exceptions never hide files. Patterns such as !**/node_modules/@types match at any depth but can make searches slower.

Smart subgraph titles in Mermaid diagrams

Edges in Mermaid diagrams no longer cover subgraph titles. A title moves to the side when an edge would cross it. With the default vscode Mermaid theme, subgraphs are outlined instead of filled, so nested subgraphs stand out.

Screenshot showing a Mermaid diagram with nested subgraphs before and after the change: edges no longer cross the subgraph titles, and the subgraphs are outlined instead of filled.

Enterprise

Organization-required plugins can't be uninstalled

When your organization requires an agent plugin, for example with the enabledPlugins managed setting, the Customizations views previously offered Uninstall for it. That action always failed and changed to Retry Uninstall, which also failed. The same happened for the prompts, skills, agents, hooks, and MCP servers that the plugin contributes.

{
  "enabledPlugins": {
    "my-plugin@my-marketplace": true
  }
}

The Uninstall action for these plugins and their contributions is now disabled and a message is shown on hover and keyboard focus. This applies to Browse, the plugin details, the plugin editor, and the plugin and MCP server menus.

Screenshot showing an organization-required plugin in Browse customizations with a disabled Uninstall button and a hover saying the plugin is managed by your organization.

Managed MCP allowlists take precedence over registry-only access

Previously, when an organization limited MCP to servers from its registry and also defined an allowlist in managed settings, VS Code still required each server to be in the registry. Servers that the allowlist approved but that weren't published to the registry couldn't run.

The enterprise-managed allowedMcpServers list is now authoritative. A server that matches the list can run even if it isn't in the registry, and a registry server that doesn't match is blocked. For example, the following enterprise-managed settings allow one remote server and one local server:

{
  "allowedMcpServers": [
    { "serverUrl": "https://mcp.example.com/mcp" },
    { "serverCommand": ["node", "approved-server.js"] }
  ]
}
  • An empty list ([]) blocks all servers. If the list is absent, the registry restriction applies as before.
  • User and workspace allowlists can't add servers to the enterprise list.
  • deniedMcpServers and turning off MCP still take precedence over the allowlist.
  • Prefer serverUrl and serverCommand rules. A serverName rule matches a label that the server's author chooses.

Note: This change applies to MCP servers that VS Code starts, not to servers managed by the Agent Host.

Contributions to extensions

GitHub Pull Requests

There has been more progress on the GitHub Pull Requests extension, which enables you to work on, create, and manage pull requests and issues. New features include:

  • The pull request overview timeline shows more events, including label, milestone, and title changes, review requests and dismissals, draft and ready-for-review changes, force pushes, branch restores, auto-merge changes, and merge queue updates.
  • Pull request description templates support issue variables such as ${issueTitle}, ${issueNumber}, and ${issueNumberLabel}, filled in from the issue associated with the branch by "Start Working on Issue".
  • When you stack pull requests, you're prompted to disable auto-merge on any pull request in the stack that has it enabled.

Review the changelog for the 0.176.0 release of the extension to learn about everything in the release.

Extension Authoring

Timeline API finalized

Extensions published to the Marketplace can add their own history to the Timeline view, next to Git commits and Local History. Register providers with workspace.registerTimelineProvider for files and folders, or workspace.registerWorkspaceTimelineProvider for the whole workspace. Set TimelineItem.resourceUri to the resource's content as of that entry so users can compare it with other entries by using Compare Selected.

Learn more about the Timeline API in the Timeline API documentation.

Fun!

Blobby jump game (Experimental)

Take a short break with Blobby, the VS Code pet. Enter /vscode-pet in chat to show Blobby. On the new-session screen in the Agents window, choose Play Jump Game from Blobby's context menu. Hold the spacebar to charge a jump and use the arrow keys to aim for the next platform. The game remembers your high score on this device.

Deprecated features and settings

New deprecations in this release

Install Extension tool removed from the Local harness

The Install Extension (#installExtension) agent tool is no longer available in Local agent sessions. When you create a new workspace from chat, the agent no longer installs extensions. Instead, it adds the extensions the project needs to .vscode/extensions.json, so you can review and install them from the Extensions view. When you run a Python cell in a Jupyter notebook without the Jupyter extension, the kernel picker prompts you to install it.

If your custom agents or prompt files reference #installExtension, remove that reference.

Run VS Code Command tool removed from the Local harness

The Run VS Code Command (#runCommand) agent tool is no longer available in Local agent sessions. Built-in workflows that relied on it now work without it. For example, when chat diagnoses network issues, it asks you to run Developer: Chat Diagnostics and share the report.

If your custom agents or prompt files reference #runCommand, remove that reference.

Workspace creation tool and slash command removed from the Local harness

The Create New Workspace (#newWorkspace, previously #new) agent tool and the /new slash command are no longer available in Local agent sessions. The Generate New Workspace link on the Welcome page is also no longer available. The dedicated project-setup skills are removed.

To create a project, open an empty folder and describe the project you want in an agent session. The agent uses its standard tools to create files, run scaffolding commands, and configure tasks.

Remove references to #newWorkspace, #new, /new, project-setup-info-local, and project-setup-info-context7 from your custom agents and prompt files. The github.copilot.chat.newWorkspaceCreation.enabled, github.copilot.chat.newWorkspace.useContext7, and github.copilot.chat.useProjectTemplates settings are also removed. Notebook creation is unchanged.

Upcoming deprecations

None

Notable fixes

  • When an organization turned off the Claude or Codex agent, users who had picked that agent before got a read-only chat with no input from New Chat (+), New Chat Editor, and new windows. New chats now fall back to the default harness, and an unsent prompt carries over. Your previous choice applies again if the policy is lifted. #345207

  • When an organization set MCP access to registry only in its GitHub Copilot policies, a failed policy refresh, for example from a network error or rate limiting, removed the restriction until the next successful refresh. VS Code now keeps the last known registry policy, and clears it only when GitHub reports that no registry applies. #344895

Thank you

Issue tracking

Contributions to our issue tracking:

Pull requests

Contributions to vscode:

Contributions to vscode-pull-request-github:


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.