| Prompt files |
Workspace |
.github/prompts/*.prompt.md |
Product direction is to deprecate .prompt.md; convert existing prompt files to skills rather than carrying the format into Agent Host |
Detect files and record offer, accept, success, failure, and dismissal |
✅ Prompt-to-skill migration enabled by default; see #332262 and test plan #330793 |
| Prompt files |
User |
VS Code profile User Data *.prompt.md |
Convert to personal skills |
Same as workspace, split by scope |
✅ Prompt-to-skill migration enabled by default through #332262 |
| Prompt files |
Workspace or user |
Additional paths and globs in chat.promptFilesLocations |
Copilot CLI does not consume the VS Code setting; discover every configured source before conversion |
Record configured paths and files found per path |
⬜ Extend migration discovery beyond default folders |
| Legacy chat modes |
Workspace or user |
.github/chatmodes/*.chatmode.md and paths in deprecated chat.modeFilesLocations |
Convert .chatmode.md to .agent.md in a supported agent folder |
Record legacy files and conversion outcome |
⬜ Migration flow needed |
| Custom agents |
Workspace |
.github/agents/*.agent.md with shared frontmatter |
Same folder and file type |
Validate discovery and activation by host |
✅ Baseline |
| Custom agents |
Workspace or user |
Additional paths in chat.agentFilesLocations |
Copilot CLI does not consume the VS Code setting; move to .github/agents or ~/.copilot/agents |
Record configured paths and files found |
⬜ Migration flow needed |
| Custom agents |
User |
VS Code profile User Data agents |
Move to ~/.copilot/agents/*.agent.md |
Record files found and move/copy outcomes |
🟡 User Data migration exists but is not fully rolled out; see planning #8196 (internal), missing user agents #322137, and migration failure #331335 |
| Custom agents |
Workspace or user |
Legacy or VS Code-specific names in tools |
Rewrite to supported Copilot tool names and namespaces without widening permissions |
Record unresolved names and rewrites |
⬜ Tracked by #328121; prior naming alignment in #272734 |
| Custom agents |
Workspace or user |
References to VS Code user tool sets in tools |
Expand to supported concrete tool names, or define a shared tool-set format |
Record unresolved tool-set references |
❓ Decision needed |
| Custom agents |
Workspace or user |
VS Code-specific frontmatter, handoffs, or deprecated properties |
Validate each field against the shared custom-agent schema and preserve intent where possible |
Record incompatible properties |
❓ Inventory and compatibility mapping needed |
| Custom agents |
Workspace or user |
Hooks embedded in .agent.md frontmatter |
Confirm support; otherwise extract into a supported hook file without changing agent scope |
Record agent-scoped hooks and conversion result |
❓ Compatibility decision needed |
| Instructions |
Workspace |
.github/copilot-instructions.md and .github/instructions/**/*.instructions.md |
Same locations and formats |
Validate discovery by host and scope |
✅ Baseline |
| Instructions |
Workspace |
AGENTS.md, CLAUDE.md, and GEMINI.md |
Supported formats; validate precedence, nesting, and multi-root behavior |
Record sources discovered and applied |
🟡 Baseline; trust-boundary fixes remain for untrusted parents and sibling discovery in #332700 and copilot-agent-runtime#16814 |
| Instructions |
User |
VS Code profile User Data instructions |
Move to ~/.copilot/instructions/**/*.instructions.md |
Record files found and move/copy outcomes |
🟡 User Data migration exists but is not fully rolled out; see planning #8196 (internal) |
| Instructions |
Workspace or user |
Additional paths/globs in chat.instructionsFilesLocations |
Copilot CLI does not consume the VS Code setting; move to a standard folder or explicitly register supported custom instruction directories |
Record configured paths and files found |
⬜ Migration flow needed |
| Skills |
Workspace |
.github/skills, .agents/skills, or .claude/skills with valid SKILL.md |
Same folders and Agent Skills format |
Validate discovery and activation by host |
✅ Baseline |
| Skills |
User |
~/.copilot/skills or ~/.agents/skills |
Same folders and format |
Validate local and remote discovery |
✅ Local baseline; remote provisioning and discovery need validation through #8196 (internal), #316192, and #316880 |
| Skills |
User |
~/.claude/skills |
Supported by VS Code but not listed as a personal Copilot CLI skill location |
Record affected users and skills |
❓ Confirm intended compatibility or migrate |
| Skills |
Workspace or user |
Additional paths in chat.agentSkillsLocations |
Copilot CLI does not consume the VS Code setting; move to a standard folder or register using Copilot CLI skill management |
Record configured paths and skills found |
⬜ Migration or registration flow needed |
| MCP |
Workspace |
.vscode/mcp.json with top-level servers |
Unsupported by Copilot CLI; convert to .mcp.json or .github/mcp.json and a supported schema |
Record source, servers, conversion result, and servers that require user input |
🟡 Support assessment shipped in #333051; safe migration for supported servers is in draft in #333286 |
| MCP |
Workspace |
.mcp.json or .github/mcp.json with supported schema |
Native Copilot CLI entry point |
Validate discovery, authentication, enablement, and invocation across hosts |
✅ Baseline; reliability work includes duplicate state #330893, stable identity #330915, duplicate UI entries #327167, and authentication in Agents #325081 |
| MCP |
User |
VS Code profile mcp.json |
Move or copy to ~/.copilot/mcp-config.json |
Record configured servers and migration result without collecting secrets |
⬜ Decide whether to prompt before copying |
| MCP |
Workspace or user |
VS Code substitutions such as ${input:...} or profile-specific values |
Determine whether each value can be translated; prompt when secrets or interactive input prevent safe conversion |
Record unsupported properties, not values |
❓ Compatibility mapping needed |
| Hooks |
Workspace |
.github/hooks/*.json using Copilot-compatible schema |
Same folder; validate version, event names, command fields, payloads, and responses |
Record files, valid definitions, rejected definitions, and execution host |
✅ Folder baseline; schema validation required |
| Hooks |
Workspace or user |
Additional files/folders in chat.hookFilesLocations |
Copilot CLI does not consume the VS Code setting; move to .github/hooks or ~/.copilot/hooks |
Record configured paths and definitions found |
⬜ Migration flow needed |
| Hooks |
Workspace or user |
VS Code/legacy event names and hook definitions |
Map to supported Copilot events and input/output semantics |
Record incompatible definitions and conversion result |
❓ Compatibility mapping needed |
| Hooks |
Workspace or user |
command, windows, linux, or osx command fields |
Convert to portable command, bash, and/or powershell fields where semantics match |
Record incompatible fields and conversion result |
⬜ Migration tooling needed |
| Hooks |
Workspace or user |
Hook definitions that invoke scripts |
Validate relative paths, cwd, executable bits, shebangs, OS support, and remote availability |
Record validation failures without command contents |
⬜ Validation and user guidance needed |
| Tool sets |
User |
VS Code profile User Data *.toolsets.jsonc |
No persisted Copilot CLI equivalent is documented |
Record files and references, not tool contents |
❓ Decide shared format versus expansion during migration |
| Plugins |
Package |
Supported plugin.json containing agents, skills, hooks, and MCP |
Native Copilot CLI plugin format |
Validate installation and each component type |
✅ Baseline |
| Plugins |
Workspace or user |
Local directories in chat.pluginLocations |
Copilot CLI does not consume the VS Code setting; install through Copilot CLI plugin management |
Record registered paths and installation outcome |
⬜ Migration/registration flow needed |
| Plugins |
User or organization |
chat.plugins.marketplaces and chat.plugins.enabledPlugins |
VS Code marketplace registration and enablement do not automatically transfer to Copilot CLI |
Record marketplace/plugin IDs and parity, not credentials |
❓ Decide expected cross-client behavior |
| Plugin slash commands |
Package |
VS Code/plugin-provided slash-command component |
Copilot CLI plugin docs do not list slash commands as a portable component; reusable commands may need to become skills |
Record affected plugins and commands |
❓ Compatibility decision needed |
| Parent repository discovery |
Workspace |
chat.useCustomizationsInParentRepositories |
Copilot CLI does not consume the setting; compare discovery from an opened subfolder through the repository root for each type |
Record setting state and local/AHP discovery differences |
❓ Define and test shared behavior |
| Customization enablement |
User or workspace |
chat.useAgentsMdFile, nested AGENTS.md, Claude instructions, skills, hooks, Claude hooks, and agent-scoped hook toggles |
Copilot CLI independently discovers and enables supported files; disabled local behavior might become active after migration |
Record configured versus effective state |
❓ Decide which enablement state must carry over or be communicated |
| Extension-provided AI contributions |
Extension |
Chat participants, tools, context providers, and related extension contributions |
TBD: determine which contributions remain supported with Agent Host, which require a new SDK path, and which are intentionally retired |
Inventory active contributions and effective Agent Host availability |
❓ Scope and ownership discussion needed |
Summary
As Agent Host becomes the default harness, some customizations that work in VS Code's local harness do not carry over unchanged. The incompatibility can be in the location, file format, or contents—for example, a custom agent can remain in
.github/agentsbut reference tool names that are unavailable in the new harness.Every existing customization entry point needs one of three outcomes:
This issue is the public inventory of those entry points and their migration readiness.
Established direction
chat.agentFilesLocations.Target outcome
Migration-readiness inventory
The table uses one row per distinct compatibility problem. A shared location does not imply a shared format, so custom-agent fields, hook definitions, and referenced scripts are tracked separately.
Status
.github/prompts/*.prompt.md.prompt.md; convert existing prompt files to skills rather than carrying the format into Agent Host*.prompt.mdchat.promptFilesLocations.github/chatmodes/*.chatmode.mdand paths in deprecatedchat.modeFilesLocations.chatmode.mdto.agent.mdin a supported agent folder.github/agents/*.agent.mdwith shared frontmatterchat.agentFilesLocations.github/agentsor~/.copilot/agents~/.copilot/agents/*.agent.mdtoolstools.agent.mdfrontmatter.github/copilot-instructions.mdand.github/instructions/**/*.instructions.mdAGENTS.md,CLAUDE.md, andGEMINI.md~/.copilot/instructions/**/*.instructions.mdchat.instructionsFilesLocations.github/skills,.agents/skills, or.claude/skillswith validSKILL.md~/.copilot/skillsor~/.agents/skills~/.claude/skillschat.agentSkillsLocations.vscode/mcp.jsonwith top-levelservers.mcp.jsonor.github/mcp.jsonand a supported schema.mcp.jsonor.github/mcp.jsonwith supported schemamcp.json~/.copilot/mcp-config.json${input:...}or profile-specific values.github/hooks/*.jsonusing Copilot-compatible schemaversion, event names, command fields, payloads, and responseschat.hookFilesLocations.github/hooksor~/.copilot/hookscommand,windows,linux, orosxcommand fieldscommand,bash, and/orpowershellfields where semantics matchcwd, executable bits, shebangs, OS support, and remote availability*.toolsets.jsoncplugin.jsoncontaining agents, skills, hooks, and MCPchat.pluginLocationschat.plugins.marketplacesandchat.plugins.enabledPluginschat.useCustomizationsInParentRepositorieschat.useAgentsMdFile, nestedAGENTS.md, Claude instructions, skills, hooks, Claude hooks, and agent-scoped hook togglesProgress tracker
Definition of done for a migration
Migration UX principles
Later / outside the immediate migration
Measurement
Telemetry should let us answer:
Do not collect customization contents, commands, secrets, MCP input values, or script bodies.
Open questions
Related issues
Planning and workstream tracking
Migration implementation and follow-ups
Discovery and remote-host gaps
MCP reliability
Measurement
Documentation references
🤖 Posted by GitHub Copilot on Harald's behalf.