stacklok / stacklok/mecatl

bug(mecatui): assistant-response Markdown links are not terminal-clickable

Open
#1,611 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
152
Forks
16
Avg merge
14h 48m
Merged PRs (30d)
536

Description

Summary

Markdown links in mecatui assistant responses are not actionable in terminals that normally support terminal links, including iTerm2 and Ghostty. For example, a rendered [PR #812](https://github.com/stacklok/mecatl/pull/812) cannot be opened with Cmd-click, right-click, or equivalent terminal link actions.

Expected behavior

Assistant-response Markdown links should be terminal-clickable, preferably through validated OSC 8 hyperlinks where the terminal supports them. Plain URLs should also remain detectable by terminals where applicable.

Scope and safety constraint

This should not weaken the terminal-control sanitization used for untrusted plain UI content (tool output, permission prompts, errors, etc.). That boundary is intentional to prevent terminal-escape/UI-spoofing injection.

Relevant code

  • Assistant Markdown rendering: cmd/mecatui/ui/render.go (markdownWidth, Glamour renderer)
  • Markdown link styling: cmd/mecatui/theme/glamour.go
  • Plain-content terminal safety boundary: cmd/mecatui/ui/sanitize.go

The status-line protocol intentionally does not emit OSC 8 yet; this issue concerns assistant response rendering rather than StatusML links.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in cmd/mecatui/ui/render.go at the markdownWidth and Glamour rendering path, then read cmd/mecatui/theme/glamour.go for link styling. Compare the assistant-response path with the safety boundary in cmd/mecatui/ui/sanitize.go; done means Markdown links are actionable in supported terminals while untrusted plain UI content remains sanitized.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.