github / github/copilot-cli

Support OSC 8 terminal hyperlinks in MCP progress notification messages

Ouverte
#1,837 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
area:mcp
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

## Summary

MCP servers can send progress notifications (
otifications/progress) with a message field that gets displayed in the Copilot CLI status line. It would be great if the CLI could pass through [OSC 8 terminal hyperlinks](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) embedded in these messages, so MCP servers can include clickable links (e.g., to a PR URL).

## Current Behavior

The CLI strips or does not render ANSI/OSC escape sequences in the `message` field of `notifications/progress`. The text content displays correctly, but any embedded OSC 8 hyperlink sequences are lost.

## Desired Behavior

When rendering MCP progress messages in the status line or timeline, detect whether the hosting terminal supports OSC 8 hyperlinks and pass them through if supported. For unknown or unsupported terminals, strip the escape sequences cleanly so only the plain display text remains (no garbled output).

**Terminal detection could use environment variables:**
- `WT_SESSION` — Windows Terminal
- `TERM_PROGRAM=iTerm.app` — iTerm2
- `TERM_PROGRAM=WezTerm` — WezTerm
- `TERM_PROGRAM=vscode` — VS Code integrated terminal
- `KITTY_WINDOW_ID` — Kitty

## Use Case

Our MCP server ([pr-copilot](https://github.com/m-nash/pr-copilot)) monitors PRs during long-running polling operations. We send periodic heartbeat progress notifications like:

`🕐 7:15:30 PM · Background Monitoring PR #56791 · CI: 43✅ · Will prompt when your attention is needed`

Being able to make `PR #56791` a clickable link to the GitHub PR would improve the user experience significantly.

## Context

- Copilot CLI v0.0.389 added "Display progress messages from MCP tools in timeline" — this feature works great
- We send `notifications/progress` with a self-generated `progressToken` since the CLI doesn't send one in tool call `_meta`
- The progress messages display correctly in the status line, but without hyperlink support

---
🤖 m-nash-copilot

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.