Describe the bug
Copilot CLI 1.0.83 does not load workspace MCP config at all. A repo-root .mcp.json is ignored, and copilot mcp list never emits a Workspace group — only User servers:.
This is not a display-only problem: the servers are never started. The session log contains no spawn attempt for the workspace servers.
copilot mcp --help explicitly advertises the source:
Configuration is loaded from multiple sources:
User ~/.copilot/mcp-config.json
Workspace .mcp.json or .github/mcp.json
Plugin Installed plugins with MCP servers
Affected version
GitHub Copilot CLI 1.0.83.
macOS (Apple Silicon).
Steps to reproduce
In a pristine git repo, with no .vscode/ directory and no comments in the JSON:
mkdir repro && cd repro && git init -q .
cat > .mcp.json <<'JSON'
{
"mcpServers": {
"repro_probe": { "type": "local", "command": "node", "args": ["server.js"] }
}
}
JSON
copilot mcp list
copilot mcp get repro_probe
Actual behavior
$ copilot mcp list
User servers:
linear (http)
figma (http)
$ copilot mcp get repro_probe
Error: Server "repro_probe" not found.
copilot mcp list --json likewise contains only "source": "user" entries — no workspace entries at all.
Expected behavior
repro_probe appears under a Workspace group and is started for the session.
Ruled out
Each of these was tested individually, not assumed:
| Hypothesis |
Result |
| Folder not trusted |
Repo has an entry in ~/.copilot/permissions-config.json with write approvals |
| Version too old |
1.0.83; support shipped in v0.0.401 per #1291 |
| Enterprise/managed policy |
Logs show managedSettings ... source=none, bypassDisabled=false |
"type": "stdio" vs "local" |
Both ignored |
mcpServers vs servers key |
Both ignored |
.github/mcp.json path |
Also ignored |
| Comments in JSON (#4323) |
File is strict JSON, no comments; repro has no .vscode/mcp.json either |
| Not at repo root (#4765) |
cwd is the repo root |
| Servers themselves broken |
All start and authenticate fine when launched by hand, and work once copied into ~/.copilot/mcp-config.json |
Possibly related
Impact / workaround
Workspace .mcp.json is the only version-controlled way to share MCP servers with a team. The workaround is to duplicate every server into ~/.copilot/mcp-config.json using absolute paths, which is per-machine and not version-controlled, so each person repeats the setup and the lists drift.
Describe the bug
Copilot CLI 1.0.83 does not load workspace MCP config at all. A repo-root
.mcp.jsonis ignored, andcopilot mcp listnever emits aWorkspacegroup — onlyUser servers:.This is not a display-only problem: the servers are never started. The session log contains no spawn attempt for the workspace servers.
copilot mcp --helpexplicitly advertises the source:Affected version
macOS (Apple Silicon).
Steps to reproduce
In a pristine git repo, with no
.vscode/directory and no comments in the JSON:Actual behavior
copilot mcp list --jsonlikewise contains only"source": "user"entries — no workspace entries at all.Expected behavior
repro_probeappears under aWorkspacegroup and is started for the session.Ruled out
Each of these was tested individually, not assumed:
~/.copilot/permissions-config.jsonwith write approvalsmanagedSettings ... source=none, bypassDisabled=false"type": "stdio"vs"local"mcpServersvsserverskey.github/mcp.jsonpath.vscode/mcp.jsoneithercwdis the repo root~/.copilot/mcp-config.jsonPossibly related
resolveDiscoveredConfigdoes not read workspace.mcp.json—includeWorkspaceSourcesnever set #3126 — same end symptom (includeWorkspaceSourcesnever set), but reported via the SDK'senableConfigDiscoverypath. This report is the plain interactive CLI, so the two may share a root cause.mcp listdoes detect the workspace file and only the session connection fails; here it is never detected.--additional-mcp-config.Impact / workaround
Workspace
.mcp.jsonis the only version-controlled way to share MCP servers with a team. The workaround is to duplicate every server into~/.copilot/mcp-config.jsonusing absolute paths, which is per-machine and not version-controlled, so each person repeats the setup and the lists drift.