github / github/copilot-cli

Support OSC 8 terminal hyperlinks in MCP progress notification messages

Đang mở
#1,837 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:mcp
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.