# How can I invoke any functionality inside the Description area of the LocalInspections tool's problemDescriptor

**URL:** <https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201>\
**Category:** IntelliJ Platform\
**Tags:** plugin-development\
**Created:** [November 25, 2025, 10:06am UTC](https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201 "2025-11-25T10:06:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cx-aniket-shinde](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/cx-aniket-shinde/32/2254_2.png) [@cx-aniket-shinde](https://platform.jetbrains.com/u/cx-aniket-shinde)\
**Post date:** [November 25, 2025, 10:06am UTC](https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201/1 "2025-11-25T10:06:12Z")

</div>

**Title:**  
How can I invoke plugin functionality from the Description area of a LocalInspectionTool’s problem descriptor?

**Body:**  
I am developing a custom IntelliJ plugin that defines a `LocalInspectionTool`.  
The inspection works correctly, shows results in the editor, and my `LocalQuickFix` is invoked properly when selected.

However, I want to know whether it is possible to invoke **any custom functionality from inside the inspection description area** — specifically the text displayed in:

- The popup tooltip when hovering a highlighted problem

- The “Problem Description” panel inside _Inspection Results_

- The static HTML file shown as the inspection description (from `inspectionDescriptions/*.html`)

For example, I want to embed a **hyperlink or button** inside the description, and when the user clicks it, I want to call a Java method from my plugin.

I tried looking at `DaemonTooltipActionProvider`, but it appears to be an **internal API** and not accessible from the open IntelliJ Platform SDK.

### **My question:**

Is there any supported way in the IntelliJ Platform SDK to attach a clickable action inside the inspection description, or invoke plugin logic from the description area?  
If not, is the recommended solution to rely solely on `LocalQuickFix` actions for interactive behavior?

Any official clarification or recommended pattern from JetBrains would be very helpful.

Inside the red box I want a button or hyperlink that could listen inside the code do perform the actions based on that buttons.

 ![image](https://us1.discourse-cdn.com/flex001/uploads/jetbrains_platform/original/2X/9/944fbb3cda4066a2eb35720e8c2cd4930609290e.png)

---

<div class="post-metadata">

**Author:** ![jansorg](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jansorg/32/52_2.png) [@jansorg](https://platform.jetbrains.com/u/jansorg)\
**Post date:** [November 25, 2025, 11:53am UTC](https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201/2 "2025-11-25T11:53:06Z")

</div>

For hyperlinks in the tooltip, you can register a `TooltipLinkHandler` like the [Java plugin does](https://github.com/JetBrains/intellij-community/blob/019a6852f46281c4ba79b3a9871820810bf3e501/java/java-impl/src/com/intellij/codeInsight/daemon/impl/JavaClassTooltipLinkHandler.java#L30)):

```auto
<codeInsight.linkHandler prefix="#javaClass/" handlerClass="com.intellij.codeInsight.daemon.impl.JavaClassTooltipLinkHandler"/>

```

---

<div class="post-metadata">

**Author:** ![robert.novotny](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/robert.novotny/32/2046_2.png) [@robert.novotny](https://platform.jetbrains.com/u/robert.novotny)\
**Post date:** [November 25, 2025, 9:33pm UTC](https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201/3 "2025-11-25T21:33:03Z")

</div>

@jansorg is right, but to make it working, it is little bit more complex. On a positive note, in can be done with a public API.

1. Subclass a `ProblemDescriptorBase` and create your own Problem Descriptor.

2. In that descriptor, override the `getTooltipTemplate` function and return a HTML body of your tooltip. It is important to provide a wrap the tooltip text into `<html><body>` elements without any formatting, line-wrapping or pretty printing. You can reuse `kotlinx-html` or use the `com.intellij.openapi.util.text.HtmlBuilder`.

3. The hyperlink `href`, by convention, is a hash-starting prefix delimited by slash from the popup-specific parameters. This prefix should be generally mapped to the short name of the inspection.

4. Declare the `LinkHandler` extension. The `prefix` should match the one used in the Problem Descriptor.

5. Implement the link handler class.

6. Finally, when reporting inspection problems, use the `ProblemDescriptor` subclass instance as a parameter to the `registerProblem` function.

---

<div class="post-metadata">

**Author:** ![cx-aniket-shinde](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/cx-aniket-shinde/32/2254_2.png) [@cx-aniket-shinde](https://platform.jetbrains.com/u/cx-aniket-shinde)\
**Post date:** [December 9, 2025, 10:09am UTC](https://platform.jetbrains.com/t/how-can-i-invoke-any-functionality-inside-the-description-area-of-the-localinspections-tools-problemdescriptor/3201/4 "2025-12-09T10:09:10Z")

</div>

Thank you @robert.novotny @jansorg for the explanation. It was extremely helpful and contributed directly to my development work.
