How to Migrate VS Code 1.146 Local Harness: 2026 Guide

How to Migrate VS Code 1.146 Local Harness: 2026 Guide

VS Code 1.146 Local harness migration should be completed before the planned February 2027 removal, but first inventory and back up your custom setup, then verify a representative task in Copilot harness. New sessions already default to Copilot harness; that does not mean existing settings, integrations, or sessions have been converted.

This guide is for developers still using Local harness, engineers running VS Code through Remote SSH to a Mac workspace, and administrators who need to validate team policies before rollout.

Last updated November 12, 2026. Verified against the VS Code 1.146 release notes, the official harness migration guide, and related VS Code documentation.

Migration date and immediate decision

The migration is a controlled workflow change, not a session-target toggle. The official VS Code 1.146 release notes mark Local harness as deprecated and state that removal is planned for February 2027. They also identify Copilot harness as the default for new sessions. Confirm both points against the release notes before setting an internal deadline, because this is a versioned product plan.

This week: identify every project and user who still depends on Local harness, then test one low-risk task in a new Copilot harness session.

The distinction matters because you are managing several separate variables:

The harness concepts documentation explains the role of harnesses. Use it alongside the Agent Host documentation when diagnosing a remote setup. A successful VS Code connection alone does not prove that the agent is operating against the intended repository or command environment.

The practical decision is straightforward:

Baseline and backup before the switch

Start with a task that is small enough to repeat and meaningful enough to expose differences. Do not begin with a broad refactor or an unrestricted code change. Choose an existing task with a clear expected result, such as inspecting a known module and running the project's documented test command.

Record the baseline in a short migration note:

Capture enough detail for another engineer to repeat the same task. Avoid saving secrets in the note. Instead, record which credential source or permission is expected, then confirm that the secret is available through the approved mechanism.

Next, inventory and back up custom items before changing the target. Include prompt files, personal agents, instructions, Hooks, MCP configuration, tool settings, terminal shell choices, credential settings, and any Local harness session you may need to reference. The official migration guide is the source for supported migration steps. The MCP configuration documentation is the place to check MCP-specific setup.

Do not treat a backup as a migration. Preserve a copy, then check each item against the documented Copilot harness behavior. If a setting has no documented automatic conversion path, record an owner and a manual test for it. This prevents a common failure: the new session starts successfully, but a required tool or approval rule is missing when the agent reaches the task.

Trial-session setup and comparison

Create a fresh session and select Copilot in Session Target. Confirm the target shown for that session before asking it to perform work. Also record the account, available model, and enabled tools. Keep these observations separate: model selection, harness selection, and execution location answer different questions.

Run the baseline task with the same repository and expected outcome. Compare behavior, not just whether the agent responds. Check which files it proposes or edits, which commands it requests, how approvals appear, whether tools are available, and whether the final test or build result matches the expected result.

Use a comparison table to decide whether the trial is ready to advance:

Decision dimension Local harness baseline Copilot harness trial Accept the trial when
Session target Record the current target and session type Select Copilot and verify the displayed target The intended harness is visible and recorded
Project context Note repository, branch, and working directory Confirm the same project context The agent inspects the expected repository
Tools and integrations List tools, Hooks, MCP servers, and prompts in use Check each item against its supported setup Required integrations work or have an owner and plan
Commands and approvals Record commands and approval behavior Repeat the task and observe requests Commands run in the intended environment with expected approvals
Outcome Save the normal test or build result Compare changed files and task result Project-level checks pass; session startup alone is insufficient

If the Copilot trial behaves differently, record the difference before changing prompts or permissions. Otherwise you will not know whether the cause was the harness, a model change, a tool configuration, or the remote environment. Keep the first comparison as close to the baseline as possible.

Integration and session handoff

Migrate each integration as its own item. For prompts, instructions, personal agents, Hooks, MCP servers, and tools, check the official guidance and then test the actual function in a trial session. The goal is not to make the configuration look similar; it is to show that the task receives the intended context, can use the required tools, and follows the intended approval boundaries.

For MCP servers, verify the configuration and connection using the documented MCP setup guidance. Check what the server exposes to the agent and whether it requires credentials. Do not copy secrets into a repository or a shared migration document. If the team uses a managed secret source, confirm that the new session can access it under the same approved policy.

Treat Local harness sessions separately from reusable configuration. If a task must continue from an existing Local session, follow the handoff path in the migration guide. Then inspect the transferred history, draft state, workspace, and permissions before continuing. Verify that the new session has the context you need; do not assume that moving forward creates a synchronized, two-way session between harnesses.

A useful guardrail is to retain the original session as a reference until the Copilot trial passes, while preventing both sessions from independently editing the same working tree. That reduces the chance of conflicting edits and makes comparison easier. Once the new workflow is accepted, update team instructions so engineers know which session target to use and where to report an unavailable integration.

Remote SSH and remote Mac acceptance

For Remote SSH, separate the editor's remote connection from the agent's effective host and command environment. The Remote SSH documentation describes the remote development connection. The Agent Host concepts documentation covers the agent-host concept. Neither a connected remote window nor a started session is proof that a project command ran on the intended machine.

Use this acceptance sequence in the real project workspace:

Example: If your CI task packages a macOS application, start with the same repository and documented packaging command used in the team's normal workflow. Confirm that the command runs in the intended remote Mac workspace, that required tools are present, and that the resulting project checks pass. Do not declare success because the agent edited a file or produced a plausible summary.

This distinction is especially important when your normal development machine is Windows or Linux but the project requires macOS tools. The remote editor can be connected while a command is pointed at the wrong folder, shell, or host. Record the exact acceptance evidence: repository identity, command output, test result, and any permission prompt relevant to the task.

Team rollout and retirement

Keep the first rollout narrow. Choose representative projects that exercise different integrations and execution environments. Include at least one task that uses project-specific tools and one task that needs the actual remote Mac environment, if those reflect your team's work. Expand only after owners can explain the results and reproduce them.

Administrators should verify enterprise AI settings, policy enforcement, and any sandbox or permission controls before wider use. Use the enterprise AI settings documentation to check the controls that apply to your organization. A developer's successful trial does not establish that every managed account receives the same policy or tool access.

Use the following rollout gates:

Rollout option Benefits Risks and hidden costs Decision
Switch all users immediately One target workflow to communicate Unverified tools, permissions, and remote behavior can disrupt active work Avoid unless representative projects have already passed
Pilot with selected projects Exposes configuration and policy gaps with limited impact Requires parallel documentation and a named owner for each blocker Best default for teams with custom integrations
Keep Local harness without a migration plan Avoids immediate workflow changes Leaves a deprecated dependency in place as the planned removal approaches Use only as a short, tracked exception
Move to Copilot harness and validate remote tasks Aligns new work with the default while testing real execution Needs workspace-level acceptance, not just session checks Choose when the project checks pass

Track unresolved dependencies against the planned February 2027 removal date, and recheck the official release notes and migration guidance before the team's cutoff. Do not treat that date as evidence that all organization policies, integrations, or remote environments will behave identically. Revalidate when the official instructions change or when your team changes its VS Code policy.

Migration questions

When is Local harness scheduled to be removed?

VS Code 1.146 marks Local harness as deprecated, and the official release information says removal is planned for February 2027. Treat that as a migration deadline, not a reason to switch without testing. Check the latest release notes and migration guidance before scheduling a team-wide change, since official dates and instructions can be updated.

Will custom settings move automatically?

Do not assume they will. Choosing Copilot harness for a new session does not prove that prompts, personal agents, instructions, Hooks, MCP servers, credentials, or existing session state have been converted. Inventory and back up each item, then check it against the official migration and configuration guidance. Handle any item without a documented conversion path as a separate migration task.

How do you confirm a new session uses Copilot harness?

Check the Session Target when you create the session and select Copilot, then confirm the session's displayed target before running a task. Keep the harness selection separate from model selection: a chosen model does not, by itself, establish which harness is active. Record the visible target and the account, model, and tools used for your trial so teammates can reproduce it.

What should Remote SSH acceptance verify?

Confirm the connected remote workspace and repository first, then inspect the Agent Host state separately from the editor's Remote SSH connection. Run a harmless repository inspection command followed by the project's documented test or build command, and verify the output in the expected environment. For macOS-only tasks, accept the migration only after the project's own macOS build or test succeeds.

Choosing the next environment

If your tasks pass in Copilot harness, your next decision is whether the project needs a Mac that stays available for remote development or macOS-specific validation. A local machine avoids a remote dependency, but it ties work to that machine and its availability. A general-purpose cloud environment may not provide the macOS toolchain your project requires. A remote Mac adds network and workspace checks, so it is not the right answer for every task.

If you need to compare a remote setup with other development arrangements, review the Mac environment comparison. If a project genuinely needs an online macOS workspace, you can check the VpsHold remote Mac option and assess it against your required tools, access method, and team policy. Keep the migration decision evidence-led: the session target, remote command environment, and project acceptance results should all be verified before you move a team workflow.

Frequently asked questions

When is Local harness scheduled to be removed from VS Code?

VS Code 1.146 marks Local harness as deprecated, and the official release information says removal is planned for February 2027. Treat that as a migration deadline, not a reason to switch without testing. Check the latest release notes and migration guidance before scheduling a team-wide change, since official dates and instructions can be updated.

Will my custom settings move automatically when I switch to Copilot harness?

Do not assume they will. Choosing Copilot harness for a new session does not prove that prompts, personal agents, instructions, Hooks, MCP servers, credentials, or existing session state have been converted. Inventory and back up each item, then check it against the official migration and configuration guidance. Handle any item without a documented conversion path as a separate migration task.

How can I tell whether a new VS Code session uses Copilot harness?

Check the Session Target when you create the session and select Copilot, then confirm the session's displayed target before running a task. Keep the harness selection separate from model selection: a chosen model does not, by itself, establish which harness is active. Record the visible target and the account, model, and tools used for your trial so teammates can reproduce it.

How do I verify Agent Host and project commands after a Remote SSH migration?

Confirm the connected remote workspace and repository first, then inspect the Agent Host state separately from the editor's Remote SSH connection. Run a harmless repository inspection command followed by the project's documented test or build command, and verify the output in the expected environment. For macOS-only tasks, accept the migration only after the project's own macOS build or test succeeds.

Further reading

Move Your Remote Development Workflow to a Dedicated Mac

Choose a VpsHold physical Mac mini with macOS desktop and SSH access for your remote development environment.

Choose a model and rental term View full pricing