Explore Agentic Development —

Visual Studio Code 1.112

Release date: March 18, 2026

Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Welcome to the 1.112 release of Visual Studio Code. This release includes various improvements across the agent and developer experience.

Happy Coding!


VS Code is rolling out gradually to all users. Use Check for Updates in VS Code to get the latest version immediately.

To try new features as soon as possible, download the nightly Insiders build, which includes the latest updates as soon as they are available.


Agent experience

Give agents more autonomy, richer context, and easier diagnostics so they can handle complex tasks with less intervention.

Message steering and queueing in Copilot CLI

For local agent sessions, you can send messages while a previous request is running, to steer the agent towards a different response or queue up follow-up messages. This release adds support for steering and queueing messages to Copilot CLI sessions.

Screenshot showing the steering and queueing options for a Copilot CLI session.

Learn more about message steering and queueing in the documentation.

Preview changes before delegating to Copilot CLI

When you have uncommitted changes in your workspace and try to delegate a task to Copilot CLI, you can choose to copy, move, or ignore those changes in the worktree that Copilot CLI creates for the session. However, you had to check the Source Control view to see what those changes were before making a decision.

In this release, the Chat view now shows the list of pending changes, making it easier to see what can be migrated over to the worktree created when delegating to Copilot CLI.

Screenshot showing pending changes in the Chat view when asking to delegate a task to Copilot CLI.

Setting: github.copilot.chat.cli.terminalLinks.enabled Open in VS Code Open in VS Code Insiders

The terminal's file link detection now recognizes paths generated by Copilot CLI that reference files under the ~/.copilot/session-state/ directory. Previously, these paths were not resolved correctly because the built-in link detector did not know about the Copilot CLI session-state directory structure.

The link detector now handles both absolute and relative paths: absolute and tilde-prefixed paths open directly, while relative paths are resolved against the active session-state directory with a fallback to workspace folders.

This feature is enabled by default and can be toggled with the github.copilot.chat.cli.terminalLinks.enabled Open in VS Code Open in VS Code Insiders setting.

Permissions levels in Copilot CLI

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

You can configure permissions for local agent sessions in chat, to give agents more autonomy in their actions and reduce the number of approval requests. This release adds this capability to Copilot CLI sessions as well.

For Copilot CLI sessions, you can choose between the following permission levels:

  • Default Permissions: uses your configured approval settings. Tools that require approval show a confirmation dialog before they run.
  • Bypass Approvals: auto-approves all tool calls without showing confirmation dialogs and automatically retries on errors.
  • Autopilot: (enabled by default in Insiders) auto-approves all tool calls, auto-responds to questions, and continues working autonomously until the task is complete. Enable Autopilot with chat.autopilot.enabled Open in VS Code Open in VS Code Insiders setting.

Screenshot showing the permissions level options for a Copilot CLI session, including the new Autopilot option.

Learn more about Autopilot and Agent Permissions in our documentation.

Troubleshoot agent behavior with /troubleshoot (Preview)

Settings: github.copilot.chat.agentDebugLog.enabled Open in VS Code Open in VS Code Insiders , github.copilot.chat.agentDebugLog.fileLogging.enabled Open in VS Code Open in VS Code Insiders

There are several agent customization options available in VS Code. If your chat agents are not behaving as expected, it can be difficult to understand why. For example, when instructions, skills, or agents are not applied correctly or when a response is unexpectedly slow.

To help with this, we are introducing a new /troubleshoot skill that analyzes the agent debug logs directly in the conversation and provides insights into the agent's behavior. Type /troubleshoot in the chat input, followed by a question or description of the issue you're experiencing.

Screenshot showing an example of using the /troubleshoot skill in a chat session to analyze agent behavior.

The skill reads the JSONL debug log files that are exported from the chat session and can help you understand why tools or subagents were used or skipped, why instructions or skills did not load, what contributed to slow response times, and whether network connectivity problems occurred.

To use the /troubleshoot skill in chat, enable the following settings and reload VS Code:

  • github.copilot.chat.agentDebugLog.enabled Open in VS Code Open in VS Code Insiders : enables agent debug logging
  • github.copilot.chat.agentDebugLog.fileLogging.enabled Open in VS Code Open in VS Code Insiders : writes debug logs to JSONL files on disk

Learn more about troubleshooting agent behavior in VS Code.

Export and import agent debug logs (Preview)

Setting: github.copilot.chat.agentDebugLog.enabled Open in VS Code Open in VS Code Insiders

The Agent Debug Logs panel in VS Code gives you a detailed view into the agent's behavior for a session, including tool usage, subagent decisions, and more. Previously, only the active session's debug information was available in the panel.

You can now export and import debug logs for agent sessions, allowing you to share them with others or analyze them offline. This is especially useful for troubleshooting and sharing insights about agent behavior.

Screenshot showing the export and import options for agent debug logs in the Agent Debug Logs panel.

For more information on Agent Debug Log panel, see Agent Debug Logs documentation.

Note: Importing files larger than 50 MB shows a warning dialog with the actual file size. Consider trimming the file or exporting a shorter session if you encounter this warning.

Image and binary file support for agents

Setting: chat.imageSupport.enabled Open in VS Code Open in VS Code Insiders , imageCarousel.explorerContextMenu.enabled Open in VS Code Open in VS Code Insiders

Agents can now read image files from disk and binary files natively, which allows you to use agents for a wider variety of tasks, such as analyzing screenshots, reading data from binary files, and more. Binary files are presented to the agent in a hexdump format.

When an agent or tool generates an image as output, such as a screenshot from the integrated browser, those images are now selectable in chat responses and can be opened in a dedicated image carousel view. Enable this functionality with the chat.imageSupport.enabled Open in VS Code Open in VS Code Insiders setting (Experimental).

Screenshot showing the image carousel view with multiple images.

When imageCarousel.explorerContextMenu.enabled Open in VS Code Open in VS Code Insiders (Experimental) is enabled, you can right-click image files or folders in the Explorer view and select Open Images in Carousel to browse images in the carousel view.

Note: The image carousel is currently experimental.

Automatic symbol references

When you copy a symbol, such as a class name, function, or method name, and paste it into chat, VS Code now automatically pastes it as a symbol reference #sym:Name. This gives the agent automatic context about the symbol, which enables it to complete tasks more quickly and efficiently.

If you want to paste a symbol without it being converted to a symbol reference, you can use the Paste as Text command, via Ctrl+Shift+V (Cmd+Shift+V on macOS).

Agent extensibility

Scale your agent setup across projects with shared customizations, and keep it secure with tighter control over MCP servers and plugins.

Customizations discovery in parent repositories

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

In monorepo setups, you often open a package or subfolder in VS Code instead of the repository root. Previously, chat customizations were only discovered from the current workspace folder. With the new chat.useCustomizationsInParentRepositories Open in VS Code Open in VS Code Insiders setting, VS Code can also discover customization files from parent folders up to the repository root.

This improved discovery makes it easier to share repository-wide guidance and tools across packages in a monorepo without needing to open the full repository as your workspace.

When discovery is enabled, it applies to all chat customization types, including always-on instructions such as copilot-instructions.md, AGENTS.md, and CLAUDE.md, along with instruction files, prompt files, custom agents, skills, and hooks.

Parent-repository discovery only applies when:

  • Your open workspace folder is not itself a Git repository
  • A parent folder contains the .git folder
  • The parent repository is trusted with workspace trust

Learn more about agent customizations in the documentation.

Sandbox locally running MCP servers

Running MCP servers locally can pose security risks as they have the same permissions as the user running VS Code, which enables them to access files or network resources they shouldn't need for their functionality.

To reduce this risk, you can now run locally configured stdio MCP servers in a sandboxed environment on macOS and Linux. Sandboxed servers have restricted file system and network access.

To enable sandboxing, set "sandboxEnabled": true for a server in your mcp.json file. When a sandboxed server needs access to an additional folder or domain, VS Code prompts you to grant that permission and updates the sandbox configuration for that mcp.json file. All servers defined in the same mcp.json file share that sandbox configuration.

Note: Sandboxing for locally running MCP servers is not currently available on Windows. Remote scenarios, such as WSL and SSH, continue to work.

Improved UI for MCP elicitation

When an MCP server requires additional information to complete a request, it can trigger an elicitation form to collect that information from the user. These elicitation forms now use the same UI as the Ask Questions tool, allowing for a more consistent and user-friendly experience when providing additional information to MCP servers.

Screenshot showing an MCP elicitation form.

Enable or disable plugins and MCP servers

Previously, plugins and MCP servers could only be disabled or enabled by installing or uninstalling them. This release introduces the ability to enable or disable plugins and MCP servers without uninstalling them.

Both plugins and MCP servers can now be enabled and disabled both globally and per-workspace. You can do this by opening the MCP or plugin page, or by right-clicking on their entries, either in the Extensions view or the Chat: Open Customizations view.

Screenshot showing the option to enable or disable a plugin from the Customizations view.

Automatic plugin updates

Setting: extensions.autoCheckUpdates Open in VS Code Open in VS Code Insiders

Plugins can now update automatically based on the extensions.autoCheckUpdates Open in VS Code Open in VS Code Insiders setting. Plugins from npm and pypi require approval to update, as updating these plugins might cause new code to be run on your machine.

Developer experience

Build and debug web apps without leaving VS Code, with a more capable integrated browser and streamlined editor workflows.

Integrated browser

Debug web apps with the integrated browser

The integrated browser lets you open web apps directly within VS Code, and now you can also start debugging sessions with the integrated browser. This allows you to interact with the web app, set breakpoints, step through code, and inspect variables without ever leaving VS Code.

We added a new editor-browser debug type that enables debugging of integrated browser tabs with both Launch and Attach configurations.

Most options from existing msedge and chrome debug configurations are supported, which makes migration often as simple as changing the type of an existing configuration in launch.json.

Learn more about the integrated browser and how to set up debugging in the documentation: Integrated browser.

Integrated browser UX improvements

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

  • Context menus

    Right clicking in a browser page now exposes common options such as copy/paste, open in new tab, and inspect.

    Screenshot showing an open context menu in the integrated browser.

  • Independent zoom level

    The integrated browser now has its own zoom level, independent from the VS Code window's zoom. Use the Zoom In (⌘= (Windows, Linux Ctrl+=)), Zoom Out (⌘- (Windows, Linux Ctrl+-)), and Reset Zoom (⌘Numpad0 (Windows, Linux Ctrl+Numpad0)) shortcuts when the browser has focus, or use the actions from the URL bar menu. The zoom level is remembered per website, just like in a regular browser.

    Use the workbench.browser.pageZoom Open in VS Code Open in VS Code Insiders setting to configure a default zoom level. When set to "Match Window" or left unset, the browser matches the VS Code window's zoom.

A new editor.find.closeOnResult Open in VS Code Open in VS Code Insiders setting lets you automatically close the Find control after a match is found and move focus back to the editor.

The setting is disabled by default, preserving the existing behavior where the Find dialog stays open after a search.

Terminal

Improved IME composition for the terminal

When typing with an Input Method Editor (IME) near the right edge of the terminal, the composition preview text could previously overflow outside the terminal boundaries. The composition view is now constrained to the available space between the cursor and the terminal's right edge. As you enter new characters, older characters are progressively hidden, keeping the preview text within the terminal viewport. This matches the behavior of other modern terminals such as Ghostty.

Note: On Windows, enable terminal.integrated.windowsUseConptyDll Open in VS Code Open in VS Code Insiders for the best IME composition experience.

Deprecated features and settings

New deprecations in this release

None

Upcoming deprecations

  • Edit Mode is officially deprecated as of VS Code version 1.110. Users can temporarily re-enable Edit Mode via VS Code setting chat.editMode.hidden Open in VS Code Open in VS Code Insiders . This setting will remain supported through version 1.125. Beginning with version 1.125, Edit Mode will be fully removed and can no longer be enabled via settings.

Notable fixes

Thank you

Issue tracking

Contributions to our issue tracking:

Contributions to vscode:

Contributions to vscode-copilot-chat:

Contributions to vscode-docs:

Contributions to node-pty:

Contributions to python-environment-tools:


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.