anthropics / anthropics/claude-code
Markdown links with a custom URL scheme (e.g. myapp://) are not clickable in Warp, while https:// links are
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 147k
- Forks
- 24k
- PR merge metrics
- PR metrics pending
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating Claude Code's Markdown-link handling and the code that emits OSC 8 hyperlinks, then compare the paths for https:// and custom schemes. Reproduce the two links from the report and verify that the custom-scheme link gains hover and click behavior without enabling unsafe arbitrary launches; cover the chosen behavior with a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100