Workspace .mcp.json is never loaded in CLI 1.0.83 — 'mcp list' shows no Workspace group
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
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
- #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. - #4542 — there
mcp listdoes detect the workspace file and only the session connection fails; here it is never detected. - #4636 — startup reconciliation dropping servers in 1.0.81-11, but for
--additional-mcp-config.
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the repo-root .mcp.json and compare the interactive CLI's workspace discovery with the user configuration path. Trace why the Workspace source is absent from copilot mcp list and confirm that a fixed configuration both lists the server and starts it for a session.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100