github / github/copilot-cli

Support OSC 8 terminal hyperlinks in MCP progress notification messages

Aperta
#1,837 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
area:mcp
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.