Markdown links with a custom URL scheme (e.g. myapp://) are not clickable in Warp, while https:// links are

Status Open
Reported on v2.1.278
Maintainer reply None cached
Activity 1 comment · opened Sep 20, 2026

Summary

In a Claude Code reply, a markdown link whose target uses a custom scheme renders as its label but is not a hyperlink: no hover state, no pointing-hand cursor, no click action. An https:// markdown link in the same reply is clickable. The terminal itself handles a custom scheme fine when the hyperlink is sent directly as OSC 8, so the difference seems to be on the Claude Code side.

This looks like the same behaviour as #42519, which was closed as stale and locked without a maintainer reply, so I'm filing a fresh report with a terminal-side control.

Environment

  • Claude Code: 2.1.278
  • Terminal: Warp 0.2026.09.16.08.27.02 on macOS
  • tui setting: default

Steps to reproduce

  1. In Claude Code, ask for a reply containing these two lines verbatim:

``
[Example https](https://example.com/item/117)
[Example custom](myapp://item?id=117)
``

  1. Hover each label in Warp with Cmd held.

Actual

  • https:// link: hand cursor, underline, click opens the URL.
  • myapp:// link: label only, nothing on hover, click does nothing.

Control: the terminal handles the scheme

In a separate Warp tab, the same custom scheme sent as a raw OSC 8 hyperlink is hoverable and Cmd+click hands off to the registered app:

printf '\033]8;;%s\033\\%s\033]8;;\033\\\n' 'myapp://item?id=117' 'Example custom'

Warp does not linkify a custom scheme in plain text (warpdotdev/warp#5659), so an OSC 8 hyperlink is the only way such a link can be clickable there, and Claude Code isn't emitting one for it.

Expected

Either of:

  • Markdown links are emitted as OSC 8 hyperlinks whatever the scheme, as they are for https://.
  • If a scheme filter is intentional, an opt-in setting for extra schemes, default empty and exact-match only, so nobody gets one-click launches of arbitrary schemes from model output without asking for it.

Why it matters

Custom schemes are how macOS apps expose deep links (vscode://, obsidian://, and app-specific ones). A short label that opens the target app is the only form that works in a terminal, since a long raw URL soft-wraps and, in Warp, isn't linkified at all.

Related

  • #42519: same report, closed as stale/locked, no maintainer response.
  • warpdotdev/warp#5659: the terminal-side gap for plain-text custom schemes.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗