Markdown links with a custom URL scheme (e.g. myapp://) are not clickable in Warp, while https:// links are
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
tuisetting:default
Steps to reproduce
- 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)
- 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗