github / github/copilot-cli

Support OSC 8 terminal hyperlinks in MCP progress notification messages

Abierto
#1,837 1 comentario 0 reacciones 0 asignados Ver en GitHub
area:mcp
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.