VS Code 1.146 shipped November 11 with a three-month countdown: the Local agent harness is deprecated and will be removed in February 2027. If you built hooks, prompt files, MCP servers, or custom agents on it, the migration is non-trivial. This is not a soft deprecation with escape hatches. The runtime is being removed. Here is what you need to do before it disappears.
The Copilot Harness Is Now the Only Harness #
Microsoft is consolidating VS Code’s agent runtime on the Copilot harness — built on the Copilot SDK and running through a separate Agent Host process. The Copilot harness has been the default for new sessions since 1.143 in October. The Local harness, which ran inside the per-window extension host and died when you closed the window, is now frozen. It will not receive new features or guaranteed bug fixes. It disappears in February along with the vscode.temporaryDefaultToLocalHarness enterprise setting.
If you are starting fresh or only use Copilot chat without customizations, you are likely already on the Copilot harness and have nothing to do. The migration story is for developers who built workflows on the Local harness — particularly hooks and custom agents.
What Actually Breaks #
Not everything requires manual work. MCP server configs auto-migrate from .vscode/mcp.json to .mcp.json at your workspace root (or from profile settings to ~/.copilot/mcp-config.json). Prompt files convert to skills automatically with disable-model-invocation: true added. These are the easy parts.
The hard part is hooks. The Copilot harness uses an entirely different schema. Event names change from PascalCase to camelCase (PreToolUse becomes preToolUse), tool input fields rename ( tool_name becomes toolName), and permission decision structures flatten from nested objects to top-level fields. There is no automatic conversion. You rewrite them manually.
Beyond hooks, watch for these gaps that do not auto-migrate:
- Input-prompted MCP servers — password inputs, command variables, and
${command:...}references cannot migrate automatically and need manual workarounds - Prompt file properties — the
agent,model, andtoolsfields in.prompt.mdfiles are silently dropped during conversion - Tool sets — user-defined tool-set files have no equivalent; wire tools directly into agent definitions instead
- Chat participants — extension-provided
@participantcommands are deprecated and must become agent plugins combining skills and MCP servers - Custom agents and instructions — these do not sync after migration; manually copy from your VS Code profile to
~/.copilot/agentsand~/.copilot/instructions
One gotcha worth noting: the auto-migration does not preserve the disabled state of MCP servers. After running it, verify which servers are active. It is easy to end up with duplicate active configurations.
What You Get in Return #
The Copilot harness is genuinely better for most workflows. Sessions run as a background process, so they survive closing the editor window. The same session is accessible from VS Code, the standalone Copilot app, GitHub Mobile, github.com, and the Copilot CLI — you can hand off work between devices without losing context.
VS Code 1.146 also adds meaningful features built exclusively for the Copilot harness:
- Inbox mode (experimental) — organizes agent sessions by status: Needs Attention, Working, Completed; useful when running several agents in parallel
- Chat windows (preview) — open multiple chats in separate OS windows and arrange them alongside editors and terminals
- Granular permissions — prompts now scope to specific domains, commands, and directories instead of broad allowances
- Environment variable masking — sandboxed sessions hide env vars from the chat interface
The Open Problem for Enterprise and Air-Gapped Users #
The legitimate concern from the community is not about features — it is about routing. The Copilot harness communicates through GitHub and Microsoft infrastructure. BYOK works without a GitHub sign-in since 1.122, but Dev Container and remote development scenarios with BYOK remain unsolved. Microsoft has a tracking issue for BYOK support in Agent Host with no public timeline.
If you work in an air-gapped or heavily monitored environment, this gap is real. The Local harness handled those setups better because it stayed local. A community issue requesting to keep the Local harness as an optional extension has developer support, but Microsoft has not committed to it.
Start the Migration Now #
Seven categories to audit: MCP servers, prompt files, hooks, tool sets, chat participants, custom agents, and custom instructions. Run the built-in migration tool for the first two. Budget real time for rewriting hooks — there is no shortcut. Verify no duplicate server configs after migration. Test representative tasks before removing originals.
February will come faster than it looks on a calendar. If you have more than a few hooks or complex MCP setups, start this week. The official migration guide covers each category with specific steps. The 1.146 release notes have the full feature list.