Skip to content

MCP Server 'Command to run' strips backslashes from Windows paths #2786

@ericnewton76

Description

@ericnewton76

Describe the bug

When adding an MCP server in Copilot CLI, the Command to run field incorrectly processes Windows-style paths containing backslashes (\). The backslashes are stripped, causing the saved command path to become invalid.

This is a common scenario when pointing Copilot CLI at a locally built MCP server executable.

Steps to reproduce

  1. Open Copilot CLI settings/config UI for MCP Servers
  2. Add a new MCP server (or edit an existing one)
  3. In Command to run, enter a Windows path with backslashes, e.g.:
    C:\src\external\gitrepo\mcpserver\bin\mcpserver.exe
  4. Save

Actual behavior

The saved value strips the backslashes, e.g. it becomes:
C:srcexternalgitrepomcpserverbinmcpserver.exe

Expected behavior

The saved command should preserve the Windows path exactly as entered (including backslashes), e.g.:
C:\src\external\gitrepo\mcpserver\bin\mcpserver.exe

Environment

  • OS: Windows
  • Scenario: locally built MCP server executable path entered into “Command to run”

Additional context / notes

This looks like an escaping/serialization issue (e.g., treating backslashes as escape characters) when persisting the MCP server config. The UI should either:

  • properly escape backslashes when storing, or
  • treat the field as a raw string, or
  • clearly document/accept \\ if that’s required (but ideally it shouldn’t be).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:mcpMCP server configuration, discovery, connectivity, OAuth, policy, and registryarea:platform-windowsWindows-specific: PowerShell, cmd, Git Bash, WSL, Windows Terminal

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions