github / github/copilot-cli

MCP sampling/createMessage response includes system prompt text in content

Open
#2,467 2 comments 0 reactions 0 assignees View on GitHub
area:mcp
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

When an MCP server sends a `sampling/createMessage` request, the Copilot CLI correctly routes it to the LLM and returns a response. However, the response content prepends the entire system prompt text before the LLM's actual answer.

### Affected version

GitHub Copilot CLI 1.0.16-0

### Steps to reproduce the behavior

1. Configure an MCP server that uses `sampling/createMessage` with a system prompt
2. Have the server send a sampling request where it expects a specific response format
3. Approve the sampling request when prompted
4. Observe the response content includes the system prompt prepended to the LLM's answer

### Expected behavior

The `CreateMessageResult.Content` should contain only the LLM's response text, e.g.:

```
=== FALSE
```

### Additional context

## Actual behavior

The response content contains the system prompt echoed back, followed by the LLM's answer:

```
... === FALSE
```

## Note

This works correctly in VS Code's MCP sampling implementation — the system prompt is not included in the response content.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.