[FEATURE] Distinguish markdown heading levels in chat output (sizing/weight), and/or allow customization
Problem
In the desktop/web GUI client, markdown heading levels in assistant responses are nearly visually indistinguishable. H1, H3, and H4 render at almost the same size and weight, and H2 oddly renders in a muted gray, which makes it look less prominent than the levels beneath it. The result is that visual hierarchy is effectively lost and heading structure communicates nothing to the reader.
_Screenshot below: H1/H3/H4 are near-identical in size, and H2 is muted gray (appearing lower in the hierarchy than its own children)._
<img width="1004" height="322" alt="Image" src="https://github.com/user-attachments/assets/9092cb7a-cf21-425e-a3eb-f2673c6519ed" />
Why it matters
Long, structured responses (plans, multi-section explanations, reports) rely on heading hierarchy for scannability. Right now the only reliable contrast levers are bold lead-ins and --- rules, which pushes the assistant away from semantic headings toward visual hacks.
Requests (either would help)
- Hard-coded variation: ship a clearer default type scale so H1 > H2 > H3 > H4 are visibly distinct in size/weight, and fix H2 so it isn't muted relative to its children.
- Customization: expose markdown typography (heading sizes/weights, base font) as a user setting, similar to the request in #25234 but for the desktop/web clients.
Environment
Claude Code GUI client (desktop/web). Affects assistant-response markdown rendering specifically.
Related
- #25234 (closed, JetBrains-scoped customizable markdown styling)
- #60230 (content-type color coding for assistant output)
- #10291 (visual separator between responses)
- #26390 (terminal renderer drops GFM features)
3 Comments
Found 2 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Heading text is not clearly distinguished from body text.
In the VS Code extension it is clearly distinguished, and Claude's responses are displayed appropriately for the user to read.
Not stale. I'd also like to render headings, or at least stop stripping them so we can identify them as headings
#/##/###/####