Skip to content

Copilot CLI 1.0.58 does not auto-load project-level .copilot/mcp-config.json #3642

@tamirdresher

Description

@tamirdresher

Summary

Copilot CLI 1.0.58 does not auto-load .copilot/mcp-config.json from the current working directory (project root). Only ~/.copilot/mcp-config.json is read automatically. As a result, MCP servers declared at the project level are silently absent from the session until the user passes --additional-mcp-config @<path> explicitly on every invocation.

This breaks any project that expects per-repo MCP configuration to be applied transparently (the same pattern used by VS Code / Claude Code / cursor).

Reproduction

  1. Install @github/copilot@1.0.58 globally.
  2. In an empty repo, create .copilot/mcp-config.json:
    {
      "mcpServers": {
        "example": {
          "type": "local",
          "command": "node",
          "args": ["-e", "console.error('example MCP loaded')"]
        }
      }
    }
  3. Run copilot from the repo root.
  4. Ask the model list available MCP servers.

Expected: example is listed.
Actual: No project-level servers; only those in ~/.copilot/mcp-config.json.

Workaround

Pass the config explicitly on every spawn:

copilot --additional-mcp-config @./.copilot/mcp-config.json

The @ prefix is required (means "read JSON from file"). We are shipping this workaround in @bradygaster/squad-cli 0.9.6-preview.8 across all 10 of our copilot spawn sites.

Why this matters

Project-local MCP config is the natural way for frameworks (squad, etc.) to ship a curated MCP surface alongside the code. With the current behavior the framework must wrap every copilot invocation, which is fragile and easy to miss.

Ask

  1. Document the current behavior (no auto-load of project .copilot/mcp-config.json) in CLI docs.
  2. Consider auto-merging project-level config when present (with precedence rules vs ~/.copilot/mcp-config.json).

Environment

  • Copilot CLI: 1.0.58
  • OS: Windows 11 (reproduced; same behavior expected on macOS/Linux)
  • Node: 22.x

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:mcpMCP server configuration, discovery, connectivity, OAuth, policy, and registrymcp_host
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions