github / github/copilot-cli

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

Open
#2,786 0 comments 1 reaction 0 assignees View on GitHub
area:configuration area:mcp area:platform-windows
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### 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).

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in the MCP Servers configuration UI on Windows using the path from the report, then trace how the Command to run value is persisted. Done means saving and reopening the MCP server preserves every backslash in the entered Windows path.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.