Microsoft’s Visual Studio Code 1.146 release moves agent operations further into the Copilot harness while adding experimental session triage, preview chat windows, expanded model comparisons, canvas continuity, extension management, remote connectivity, and new trust controls. The release also makes 1.146.0 downloads available and carries a substantial set of terminal, task, marketplace, memory, accessibility, and editor fixes.

For CTOs and engineering leaders, the signal is clear: agent-first development is becoming an operating model, not a side panel. The immediate work is to migrate from the Local harness before February 2027, decide which experimental capabilities belong in managed environments, and validate the controls governing models, extensions, credentials, proxies, and remote access.

1. Copilot Harness Migration Has a February 2027 Deadline

What it is

According to Microsoft’s VS Code 1.146 release notes, the Copilot harness has been the default for new sessions since VS Code 1.143. It is built on the Copilot SDK and runs sessions through the Agent Host, allowing them to continue in the background and remain accessible from both editor windows and the Agents window.

Microsoft says the Copilot harness also enforces managed sandbox and permission policies that the Local harness does not. This is an operational boundary, not merely a renamed runtime.

The Local harness is now deprecated and scheduled for removal in February 2027. Microsoft says it will remain usable during the intervening three months but is functionally frozen; new features and improvements will focus on the Copilot harness and are not guaranteed to work with the Local harness.

The enterprise-managed setting vscode.temporaryDefaultToLocalHarness, introduced in VS Code 1.142, will disappear with the Local harness. Existing organizations cannot treat that setting as a durable policy.

VS Code 1.146 also extends the Agent Host to virtual repositories. Microsoft says Copilot harness workflows can now operate in virtual repositories without requiring users to clone them into local folders.

Why it matters

Migrate before the deadline. Your team should inventory workflows, conversations, customizations, tools, and policies that still depend on the Local harness, then validate them under the Copilot harness before February 2027.

Because the legacy runtime is frozen, postponing migration also means postponing access to subsequent agent improvements. This is not a compatibility toggle with an indefinite lifetime. It is a scheduled runtime retirement.

Virtual repository support expands where agents can operate. Platform teams should review whether existing Copilot and repository-access policies adequately cover repositories opened as virtual workspaces, because the previous technical limitation no longer provides separation.

2. Inbox Mode Turns Agent Sessions Into a Work Queue

What it is

Microsoft describes the experimental Inbox mode as a centralized view of agent sessions across projects. It is controlled by sessions.list.inboxEnabled, which is off by default.

After enabling the setting, users select Grouping and then Inbox Mode in the Agents window. Sessions requiring attention appear first, followed by the Working, Ready to merge, On hold, and Done groups.

Users can apply Dismiss from Inbox, Put on Hold, or Snooze to defer a session. Microsoft distinguishes dismissal from archival: dismissing a session does not archive it, while Mark Session as Done does.

VS Code 1.146 also adds experimental session-list actions under sessions.list.inlineActions. When enabled, these controls can send requests to fix failing checks or address review comments without opening the corresponding session.

Microsoft says each action targets that row’s session or nested session in the background. The setting does not enable Agent Merge or alter existing action permissions.

Why it matters

Inbox mode changes agent supervision from workspace-by-workspace checking into queue management. That matters when developers have several background sessions awaiting approval, producing changes, or preparing work for merge.

Pilot the semantics before standardizing them. Teams should agree on what Dismiss, On hold, Ready to merge, and Done mean within their development process. Otherwise, the shared interface can conceal inconsistent handling rather than improve coordination.

Inline actions reduce navigation but do not reduce authority. Existing permissions still govern what an agent can do, so administrators should evaluate sessions.list.inlineActions as a workflow control rather than a new permission boundary.

3. Chat Windows Reshape the Agent Workspace

What it is

The preview Chat windows capability gives chats separate windows containing their associated editors and terminals. In Stable, it is off by default and requires sessions.chatWindows.enabled; Microsoft says it is enabled by default in VS Code Insiders.

Users can right-click a session or chat and select Open in followed by New Window, or drag a chat out of the Agents window. The Move to Main Window command returns it.

A chat window can contain several chats from one or more sessions. Users can select another session from the title bar, drag chats between windows, or start a session with ⌘N on macOS or Ctrl+N on Windows and Linux.

Microsoft says chats and editors reopen after VS Code restarts. Within each window, users can move parts, split layouts, move editor tabs, attach an editor to chat context, reposition terminals, and switch between side-by-side and stacked arrangements.

The command Agents: Toggle Chat Conversation can collapse a stacked conversation to its input. Developer: Reset Chat Window Layout restores the initial arrangement.

Why it matters

Chat windows let developers create task-specific workspaces around an agent session rather than continually switching within one shared panel. A review session can keep its conversation, changed files, and terminal together while another window remains dedicated to implementation.

This creates a new workspace layer for support and governance. Platform teams should test restart restoration, multi-monitor use, terminal placement, context attachment, and extension behavior before recommending the preview for routine production work.

The feature is still a preview in Stable. Treat its layout persistence as workflow convenience, not as a substitute for committed code, recorded decisions, or durable project documentation.

4. Agents Window Extensions Reduce Context Switching

What it is

VS Code 1.146 expands the experimental Extensions section under Agent Customizations. Microsoft says users can now find, install, and uninstall extensions without leaving the Agents window.

Marketplace searches include extensions that are not installed, along with their publisher, installation count, and rating. Installing an extension adds it to VS Code and enables it in the Agents window, while an adjacent dropdown can select another version, including a pre-release.

VS Code warns when an extension contributes views, debuggers, status-bar items, or walkthroughs without declaring support for the Agents window. If organizational policy prevents installation, the interface presents the reason.

Users can open extension management with ⇧⌘X on macOS, Ctrl+Shift+X on Windows and Linux, or the Extensions: Manage Extensions command. Microsoft says customized shortcuts for the editor’s Extensions view also apply in the Agents window.

Why it matters

Extension discovery inside the Agents window shortens the path from identifying a missing capability to installing it. It also makes extension provenance and compatibility more important because installation now occurs directly within an agent-focused workspace.

Preserve extension governance. Marketplace availability should not be interpreted as organizational approval. Teams with private marketplaces, allowlists, or blocked publishers should verify that those policies produce the expected messages in the Agents window.

Compatibility warnings also deserve attention. An extension can install successfully while some contributed features remain unavailable, so platform teams should document supported agent-window extensions rather than infer full compatibility from installation status.

5. Model Comparisons Gain Fusion and Agent Automation

What it is

Microsoft says Compare Models in the Agents window can run one prompt across multiple models, evaluate the outputs with a judge, and combine their strengths with a synthesizer.

VS Code 1.146 permits judging and synthesizing chat-only responses without selecting a workspace. Selecting Synthesize creates a new chat and does not modify the original attempts.

The preview also adds Copilot Fusion and its supported effort tiers as options for an attempt, judge, or synthesizer. A related contribution, pull request #346434, exposes Copilot Fusion reasoning in Agent Host chat.

Experimental tools controlled by sessions.chat.compareAgents.tools.enabled allow an agent to discover models, start comparisons, and read results and conversation references. Microsoft says these tools are off by default and require Compare Models to be enabled.

Disabling the tools does not remove manual comparisons. The distinction is between human-initiated comparison and agent-initiated evaluation.

Why it matters

Model selection can now become a repeatable evaluation workflow inside the development environment. Teams can preserve candidate outputs, generate a separate synthesis, and compare effort tiers without overwriting the initial attempts.

Agent-run evaluations increase automation but also expand the scope of model invocation. Engineering leaders should define approved comparison scenarios, expected model access, and cost-accountability practices before enabling sessions.chat.compareAgents.tools.enabled.

This is not an independent benchmark. It is an in-product comparison mechanism whose conclusions depend on the prompts, judge, synthesizer, and selected models.

6. Canvases Gain Permissions, Discovery, and Continuity

What it is

Microsoft describes canvases as shared interactive surfaces where developers and Copilot work on plans, dashboards, and other artifacts. VS Code 1.146 adds permission prompts and several continuity improvements.

In Copilot harness sessions, canvas extensions now request approval before initializing privileged capabilities such as hooks. Canvas menus distinguish running canvases from available canvases that can be instantiated, while the Agents window places creation and installation actions under Discover More.

Inactive Copilot harness sessions restore their canvases without requiring another message. If a canvas provider restarts, the last canvas image remains visible with a reconnecting indicator.

In separate chat windows, canvas tabs close when their associated chat leaves the window and can reopen with that chat. Microsoft says canvases also restore after a window reload without taking focus.

Why it matters

The permission prompt makes canvas initialization an explicit trust event. Developers should not approve privileged capabilities solely because a canvas appears within an existing Copilot session.

Continuity improvements make canvases more suitable for persistent planning and operational views, but they also increase the importance of lifecycle testing. Teams should verify what happens when providers restart, chats move between windows, sessions become inactive, and managed settings block a canvas extension.

For regulated environments, canvas provenance is part of customization governance. It cannot be treated as presentation alone when extensions can initialize hooks or other privileged capabilities.

7. Remote Sharing, CLI Handoff, and Background Send Expand Session Mobility

What it is

The experimental setting sessions.chat.experimental.remoteEnvironmentsThisComputer adds controls for sharing the current computer with other clients through GitHub Environments or Dev Tunnels. Users can also disable sharing or change the computer name visible to clients.

Microsoft says local sessions continue running directly on the computer regardless of whether sharing is enabled. The controls are available through Manage Remote Environments in the environment picker, Command Palette, or Remote Connections menu.

VS Code 1.146 also allows an experimental GitHub Copilot CLI session to continue in VS Code. Entering /code, or /code-insiders for VS Code Insiders, exits the CLI and opens the same session in the Chat view for that folder.

The handoff requires Copilot CLI 1.0.107 or later with experimental features enabled through /settings experimental on. Conversation history, model, reasoning effort, mode, and permissions are retained, but process-specific permissions such as --allow-tool and previous approvals do not carry over.

To return to the CLI, users run the copilot --resume command displayed during handoff. If another CLI process still holds the session, VS Code asks before opening it.

The Agents window also gains a configurable background-send action. ⌘Enter on macOS or Ctrl+Enter on Windows and Linux starts a session without opening it, while chat.sendInBackgroundTip.enabled can display the configured shortcut.

Why it matters

These changes make agent sessions portable across clients, terminals, windows, and environments. They also create transition points where permissions and network exposure must be reevaluated.

Review each handoff boundary. CLI approvals do not automatically transfer into VS Code, which is the correct security posture but a potential source of user confusion. Teams should document the expected reapproval flow.

Computer sharing should be governed as remote access, not merely as an agent convenience. Administrators should decide whether GitHub Environments, Dev Tunnels, computer naming, and discoverability align with existing remote-development controls before enabling the experimental setting.

8. Skills Over MCP Add a New Context Channel

What it is

VS Code 1.146 adds preview support for SEP-2640 Skills over MCP through chat.agentHost.mcpSkills.enabled. Microsoft says MCP servers can use the capability to provide skills automatically to the model.

The first connection to an MCP server offering skills triggers a request for approval before those skills enter model context. Approved skills appear on the Skills tab of the Agent Customizations editor.

Why it matters

Skills over MCP turn server connections into a mechanism for adding model behavior and context. The approval prompt is therefore a material trust boundary.

Teams should validate the server, the skills it exposes, and the context those skills introduce before approval. This is not equivalent to enabling a passive integration. It changes what the model can discover and use during a session.

Administrators should include chat.agentHost.mcpSkills.enabled in MCP governance reviews and determine whether preview functionality belongs in managed developer environments.

9. Permission and Sandbox Controls Become More Granular

What it is

Microsoft says Copilot harness prompts previously suggested broad tool-level allowances for operations including web fetches, terminal commands, and file reads. For example, an Allow in this Session decision for a URL fetch could permit access to any URL during that session.

VS Code 1.146 changes the defaults to propose narrower allowances for specific domains, commands, and directories. This reduces the scope of a single approval.

The new chat.agent.sandbox.credentials.envVars setting lets administrators or users mask selected environment variables in sandboxed sessions. Agent tools receive placeholders, while real values are restored only for approved HTTPS destinations configured through injectHosts.

Microsoft instructs users to enter environment-variable names rather than secret values in the setting. On Windows, masking requires local-network access; on macOS and Windows, tools requiring operating-system certificate trust need the sandbox CA certificate to be trusted.

The chat input now displays (sandbox enabled) when terminal sandboxing is active. Microsoft says the indicator remains synchronized as users switch chats or change the setting.

Why it matters

Granular prompts reduce the blast radius of routine approvals. Teams should still teach developers to inspect the proposed domain, command, or directory rather than approve prompts mechanically.

Environment-variable masking introduces a controlled route for credentials to reach approved HTTPS hosts while remaining hidden from general agent tools. That control is useful only when injectHosts entries are tightly reviewed.

Treat destination configuration as secret policy. A broad or incorrect host list can undermine the intended isolation even when masking itself is enabled. Windows networking and certificate prerequisites should be included in deployment testing.

The sandbox indicator also improves verification at the moment of interaction. Developers no longer need to open a separate permissions menu to determine whether terminal sandboxing is active.

10. Enterprise Proxy and Policy Controls Expand

What it is

Microsoft says Copilot sessions now follow VS Code proxy configuration, including proxy auto-configuration and Kerberos authentication, when running locally, in WSL, or in a local Dev Container.

Organizational routing rules can select different proxies or direct connections for each destination. This avoids forcing every request through one proxy path.

The enterprise-managed setting communication.support.url can now direct developers affected by supported policy restrictions to an organizational help page. Microsoft says a valid absolute HTTP or HTTPS URL adds Contact Admin links for restrictions such as disabled Agents or organization-disabled models.

VS Code 1.146 also extends the Copilot-managed strictPluginOnlyCustomization setting to standalone canvas extensions. Setting it to true blocks all supported standalone customization categories while permitting eligible plugin content.

Administrators can instead supply a list containing selected categories: "skills", "agents", "hooks", "mcp", and "extensions". Microsoft notes that the boolean-only ChatStrictPluginOnlyCustomization VS Code policy does not govern canvas extensions because the Copilot SDK manages them.

Why it matters

Proxy alignment closes a configuration gap for organizations using PAC files, Kerberos, WSL, or local Dev Containers. Network teams should test destination-based routing rather than assume existing editor traffic tests cover every Copilot session path.

communication.support.url turns a blocked experience into an actionable support route. Your organization should point it to a maintained page that explains approved Copilot use, access requests, and escalation paths.

Canvas restrictions require the correct control plane. Relying only on ChatStrictPluginOnlyCustomization leaves canvas extensions outside the intended policy, so administrators must configure the Copilot-managed strictPluginOnlyCustomization setting.

11. Accessibility, Diagrams, Browser, and Metrics Improve

What it is

The Welcome page now displays a visible outline when the page itself has keyboard focus. Microsoft says it remains focusable for screen-reader users.

VS Code 1.146 moves chat, Markdown preview, and notebook rendering to Mermaid 12. The release notes identify use-case diagrams and updated automatic layout behavior among the resulting capabilities.

The Integrated Browser can now copy the file:// address of a local HTML preview for use in an external browser or terminal.

Microsoft also corrected GitHub Copilot usage metrics so agent edits no longer count unchanged text between edits as newly added or deleted code.

Why it matters

The focus outline gives keyboard users visible positional feedback on the Welcome page. Accessibility testing should include the page itself, not just its interactive controls.

Mermaid 12 may change automatic diagram layout. Teams with diagram-heavy Markdown or notebooks should inspect important rendered artifacts after upgrading rather than assume pixel-level continuity.

Copying local file addresses removes a small but recurring workflow interruption. The metrics correction is more consequential for engineering leaders because historical and current edit counts may not be directly comparable when unchanged text is no longer overcounted.

12. VS Code 1.146 Delivers Broad Reliability Fixes

What it is

Microsoft’s VS Code 1.146 contribution list includes terminal, debugging, marketplace, task, editor, accessibility, memory, search, and chat corrections:

  • Terminal paths: Pull request #343203 fixes substring collisions when collapsing home-directory paths, while #345650 uses a URI-backed default working directory for home discovery adapters.
  • Terminal interaction: Pull request #334804 restores focus when users click below an inline-chat widget, and #339330 guards scrolling before the renderer attaches.
  • Terminal lifecycle: Pull request #342420 respects parentTerminal for terminals already open, while #339488 preserves terminal editors after movement to another editor group.
  • Terminal discovery and prediction: Pull request #339556 finds profiles at a login-shell path absent from PATH, and #305103 stops type-ahead prediction from rejecting valid style sequences.
  • Debugging: Pull request #341972 sends the exception-breakpoint mode to the debug adapter.
  • Prompt safety: Pull request #332937 keeps the full URI reachable in the prompt URL confirmation dialog.
  • Draft sessions: Pull request #345807, addressing issue #345692, preserves open draft editors when replacing a new draft session.
  • Marketplace reliability: Pull requests #343686, #343687, and #341049 address repeated sign-in prompts after 403 responses, protected-resource discovery caching, and private Marketplace blocking and update gating.
  • Redirect security: Pull request #343690 prevents request credentials from being forwarded across origins during redirects.
  • Inline editing: Pull request #339575 honors explicit inline-edit gutter-menu visibility.
  • Policy integration: Pull request #345712 allows Policy Helper registration through VS Code settings.
  • Tasks: Pull requests #336159, #339551, #339550, and #339387 preserve task type, flush final markers before completion, retain distinct errors from the same resource, and correct a provider-counter bug.
  • Task variables: Pull request #316369, fixing issue #160891, preserves unresolved variables in process-task command paths.
  • Accessibility signals: Pull request #303604 removes a duplicated condition in property-change detection.
  • Test Explorer: Pull request #345896 improves performance when running many tests.
  • Notebook stability: Pull requests #331805 and #329000 address a text-diff memory leak and guard cursor-selection reveal while a cell is being disposed.
  • Memory management: Pull requests #345461, #342528, #345781, #346139, #346126, #346501, #346498, and #346268 address leaks in the color picker, AI search model, file-search listeners, terminal find widget, search progress emitter, marker resource maps, debounced observables, and keybindings search.
  • Memory reduction: Pull request #342397 reduces memory use by 24 kB.
  • Chat layout: Pull request #345436, fixing issue #275257, truncates suggested prompt titles to prevent overflow in narrow chat layouts.
  • Minimap rendering: Pull request #311689 removes a regression that forced the minimap to remain opaque.
  • Hook documentation: Pull request #346593 corrects the Hooks section description.

Why it matters

The breadth of these fixes makes 1.146.0 relevant beyond Copilot adoption. Terminal-heavy teams, private Marketplace users, task-provider authors, notebook users, and large test suites all receive targeted corrections.

Security teams should pay particular attention to cross-origin credential forwarding and prompt URL visibility. Those fixes affect the information users can verify and the boundaries across which credentials travel.

Platform teams should also retest private Marketplace authentication, terminal restoration, task completion reporting, notebook disposal, and long-running search or terminal workflows. This release contains numerous narrow reliability fixes whose value depends on the workloads your developers actually run.

The Bottom Line

What This Means for Enterprise Teams

  1. Complete the harness inventory. Identify Local harness workflows and move them to the Copilot harness before February 2027.
  2. Gate experimental capabilities deliberately. Evaluate sessions.list.inboxEnabled, sessions.list.inlineActions, sessions.chat.compareAgents.tools.enabled, and remote-computer sharing before managed rollout.
  3. Test preview workspace changes. Validate sessions.chatWindows.enabled, canvas restoration, extension compatibility, and Mermaid 12 rendering against representative projects.
  4. Strengthen agent governance. Configure granular permissions, environment-variable masking, proxy routing, support links, MCP skill approval, and Copilot-managed canvas restrictions.
  5. Rebaseline operational metrics. Account for corrected agent edit counting when comparing usage data across the VS Code 1.146 upgrade.

Agent-first is not a trend. It is the direction—and VS Code 1.146 puts a firm migration deadline behind it.

Happy Coding!