Skip to content

feat(cli): make terminal links clickable - #13944

Merged
marius-kilocode merged 1 commit into
mainfrom
fix-cli-link-clickability
Sep 9, 2026
Merged

feat(cli): make terminal links clickable#13944
marius-kilocode merged 1 commit into
mainfrom
fix-cli-link-clickability

Conversation

@marius-kilocode

@marius-kilocode marius-kilocode commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

What Problem This Solves

CLI links can be inactive or difficult to activate when OpenTUI captures mouse input, especially in Ghostty and Linux terminals. OpenTUI 0.4.5 also did not reliably preserve link metadata for bare, wrapped, and streaming URLs.

Why This Change Was Made

Upgrade the coordinated OpenTUI packages to released 0.5.11, which provides robust link metadata and pointer lookup APIs. Add a Kilo-owned controller that uses the rendered link metadata for hover feedback and application-side HTTP(S) activation while preserving selection and terminal-native fallbacks.

The implementation stays in Kilo-owned TUI paths with one existing Kilo lifecycle hook. Plugin peer ranges remain compatible with upstream at >=0.4.5; only the workspace runtime catalog is upgraded.

User Impact

  • Named Markdown links and bare HTTP(S) URLs can be opened from the TUI without depending on terminal-specific modifier handling.
  • Hovered links receive underline and pointer feedback.
  • Drag selection and double-click selection are protected from accidental opening.
  • Invalid targets and browser failures produce visible feedback.
  • Native Ghostty gestures remain available: Ctrl+Shift+click on Linux and Cmd+Shift+click on macOS.
  • SSH users can select and copy visible URLs when the browser is on the local machine.

Evidence

file-ed639a9af31eadb24d65c4d6d1a4f98f
  • Focused link tests: 5 pass.
  • Full TUI suite: 255 pass, 1 skipped.
  • Repository typecheck: 30 packages successful.
  • Repository lint: 0 errors.
  • OpenCode annotation, Kilo marker, and Markdown table checks pass.
  • macOS ARM64 CLI build and smoke tests pass.

Live Ghostty/Linux, tmux, and SSH interaction still requires terminal-environment verification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants