anthropics / anthropics/claude-code
[FEATURE] Desktop app (Code tab): render hover hints from markdown link titles and <abbr title> in assistant messages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 146k
- Forks
- 23.8k
- PR merge metrics
- PR metrics pending
Description
### Preflight Checklist
- [x] I have searched [existing requests](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20label%3Aenhancement) and this feature hasn't been requested yet (closest: #76153, which is about the PR hover card itself)
- [x] This is a single feature request (not multiple features)
### Problem Statement
In the Claude desktop app (Code tab) the assistant's messages are rendered as GitHub-flavored markdown, but there is no way for the assistant to attach a hover hint (tooltip) to a piece of text.
Everything that could carry a hint is stripped or ignored by the renderer. Tested by hovering in the chat on macOS (Darwin 25.6.0), 2026-09-18/19:
| Authoring form | Result on hover |
|---|---|
| Markdown link title: `[text](https://… "hint")` | nothing (no native tooltip, no card) |
| `term` | nothing (attribute dropped) |
| `term` | nothing |
| `term` | nothing |
| Footnote `term[^1]` | rendered as plain text, no popup |
| PR / issue reference (`#1002`, `owner/repo#9`, `[#1002](https://github.com/owner/repo/pull/1002)`) | rich hover card (state, title, author, +/− lines) |
So the app already has the UX pattern (the PR card), but only for one kind of reference. An agent report is dense with domain terms, acronyms, internal names and mechanisms. The reader wanted to hover a term and see a one-line explanation. Because that is impossible, the assistant has to inline the explanation next to every term (parentheses, glossary lines), which makes every report longer for everyone, including readers who already know the terms.
### Proposed Solution
Render an assistant-authored hover hint, using standard markdown/HTML that needs no new syntax:
1. Show the markdown link title (`[text](url "hint")`) as a hover tooltip. This is the minimal, spec-conformant fix and covers links to files, commits, branches, URLs.
2. Honor the `title` attribute on a small allowlist of inline elements after sanitization (`` at least; ``/`` optionally), so a term or a number can carry an explanation without becoming a link.
Ideal UX: on hover (and on tap on touch devices) a small tooltip with the hint text, styled like the existing PR card but text-only; a subtle dotted underline on the term so the reader knows there is a hint. Plain text if the hint is missing, nothing else changes.
### Alternative Solutions
- Inline explanation in parentheses at the first mention, or a "Terms: …" glossary line at the end of the paragraph. Works, but bloats every message and cannot be hidden by readers who know the terms. This is what we do now.
- Putting the text into an inline HTML widget where `title` works. Rejected by the user: the text then lives in a widget block, not in the chat message.
- Native ``/`title` support is standard in GitHub's own markdown rendering, Obsidian, VS Code markdown preview and most chat renderers that allow inline HTML.
### Priority
Medium - Would be very helpful
### Feature Category
Other
### Use Case Example
1. An agent writes a review of a router firmware PR: "the RCI walker compares keys exactly and allows one skipped key after a nameable node; CLI contexts opened by `interface X` stay open for the rest of the script".
2. The reader (a product owner, not the firmware engineer) does not remember what RCI or a CLI context is.
3. With hints, the agent writes `RCI` once; the reader hovers and moves on. Readers who know the term see nothing extra.
4. Today the agent has to append "Terms: RCI — JSON configuration interface of the router; CLI context — …" after the paragraph, in every report, for every reader.
### Additional Context
- Observed in the Claude desktop app, Code tab, macOS; session model `claude-fable-5-1`.
- Related but separate observations (not part of this request): commit references (bare SHA or `…/commit/` link) and file links (`path:line`) have no hover card either, while PR/issue references do. Happy to file those separately if useful.
- Security note: the hint text should go through the same sanitizer as the rest of the message; only the `title` attribute value is needed, rendered as text.
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
The request targets the Claude desktop app's Code-tab assistant-message renderer; no repository file, test, or entry point is named. Start by locating that renderer and its existing PR/issue hover-card and sanitizer paths, then define tests for link titles, allowed title attributes, touch behavior, and unchanged plain text.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html, markdown
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100