{"slug": "vs-code-1-146-deprecates-local-agent-harness-migrate-now", "title": "VS Code 1.146 Deprecates Local Agent Harness — Migrate Now", "summary": "Microsoft's VS Code 1.146, shipped November 11, deprecates the Local agent harness and will remove it in February 2027, consolidating the editor's agent runtime on the Copilot harness built on the Copilot SDK and running through a separate Agent Host process. MCP server configs auto-migrate from .vscode/mcp.json to .mcp.json and prompt files convert to skills automatically, but hooks must be rewritten by hand because the Copilot harness uses a different schema (PreToolUse becomes preToolUse, tool_name becomes toolName, and permission decisions flatten), and input-prompted MCP servers, prompt-file agent/model/tools fields, tool sets, chat participants, and custom agents and instructions do not migrate automatically. The deprecation also removes the vscode.temporaryDefaultToLocalHarness enterprise setting in February, while the Copilot harness adds experimental Inbox mode, preview chat windows, granular permissions, and environment variable masking.", "body_md": "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.\n\n## The Copilot Harness Is Now the Only Harness\n\nMicrosoft 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.\n\nIf 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.\n\n## What Actually Breaks\n\nNot 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.\n\nThe 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.\n\nBeyond hooks, watch for these gaps that do not auto-migrate:\n\n- **Input-prompted MCP servers** — password inputs, command variables, and`${command:...}` references cannot migrate automatically and need manual workarounds\n- **Prompt file properties** — the`agent` ,`model` , and`tools` fields in`.prompt.md` files are silently dropped during conversion\n- **Tool sets** — user-defined tool-set files have no equivalent; wire tools directly into agent definitions instead\n- **Chat participants** — extension-provided`@participant` commands are deprecated and must become agent plugins combining skills and MCP servers\n- **Custom agents and instructions** — these do not sync after migration; manually copy from your VS Code profile to`~/.copilot/agents` and`~/.copilot/instructions`\n\nOne 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.\n\n## What You Get in Return\n\nThe 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.\n\nVS Code 1.146 also adds meaningful features built exclusively for the Copilot harness:\n\n- **Inbox mode** (experimental) — organizes agent sessions by status: Needs Attention, Working, Completed; useful when running several agents in parallel\n- **Chat windows** (preview) — open multiple chats in separate OS windows and arrange them alongside editors and terminals\n- **Granular permissions** — prompts now scope to specific domains, commands, and directories instead of broad allowances\n- **Environment variable masking** — sandboxed sessions hide env vars from the chat interface\n\n## The Open Problem for Enterprise and Air-Gapped Users\n\nThe 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](https://github.com/microsoft/vscode/issues/340342) with no public timeline.\n\nIf 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](https://github.com/microsoft/vscode/issues/347616) has developer support, but Microsoft has not committed to it.\n\n## Start the Migration Now\n\nSeven 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.\n\nFebruary 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](https://code.visualstudio.com/docs/agent-customization/migrate-customizations) covers each category with specific steps. The [1.146 release notes](https://code.visualstudio.com/updates/v1_146) have the full feature list.", "url": "https://wpnews.pro/news/vs-code-1-146-deprecates-local-agent-harness-migrate-now", "canonical_source": "https://byteiota.com/vs-code-1-146-deprecates-local-agent-harness-migrate-now/", "published_at": "2026-11-13 03:09:31+00:00", "updated_at": "2026-11-13 04:22:40.534341+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "agent-protocols"], "entities": ["Microsoft", "Visual Studio Code", "Copilot harness", "Copilot SDK", "Agent Host", "GitHub Mobile", "Copilot CLI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/vs-code-1-146-deprecates-local-agent-harness-migrate-now", "markdown": "https://wpnews.pro/news/vs-code-1-146-deprecates-local-agent-harness-migrate-now.md", "text": "https://wpnews.pro/news/vs-code-1-146-deprecates-local-agent-harness-migrate-now.txt", "jsonld": "https://wpnews.pro/news/vs-code-1-146-deprecates-local-agent-harness-migrate-now.jsonld"}}