Clear["Global`*"] Create a wrapper for adding a [`Tooltip`](https://reference.wolfram.com/language/ref/Tooltip.html) to a [`Quantity`](https://reference.wolfram.com/language/ref/Quantity.html) qTooltip[q_Quantity, tt_String] := Tooltip[QuantityForm[q, "Abbreviation"], tt] Like other wrappers (e.g., [`MatrixForm`](https://reference.wolfram.com/language/ref/MatrixForm.html)), the wrapper should not be included in variable definitions. qTooltip[quant = Quantity[1, "Month"], "how to make it work?"] (* Tooltip[1*"mo", "how to make it work?", TooltipStyle -> "TextStyling"] *) The definition of `quant` does not include the wrapper. QuantityMagnitude[quant] (* 1 *) UnitConvert[quant, "days"] (* Quantity[365/12, "Days"] *) **EDIT:** You do not necessarily need to restrict the tooltip to being a string, and you can default to a normal `Tooltip` for none quantities. Clear[qTooltip]; plt[n_?NumericQ] := Plot[x^n, {x, 0, 1}]; qTooltip[q_Quantity, tt_] := Tooltip[QuantityForm[q, "Abbreviation"], tt]; qTooltip[q_, tt_] := Tooltip[q, tt]; Examples (outputs deleted): qTooltip[quant = Quantity[1, "Month"], plt[1]] qTooltip[n = 3, plt[n]]