[FEATURE] Syntax highlighting in VS Code extension chat panel (re-opening closed requests)
Summary
The Claude Code VS Code extension renders fenced code blocks in the chat panel as plain monochrome text. No syntax highlighting is applied regardless of the language tag (typescript, python, diff, etc.) or the user's active VS Code theme.
Context
This has been reported before but both issues were closed by the stale bot without a maintainer decision:
- #54295 — Add syntax highlighting to fenced code blocks in the VS Code extension chat panel
- #21667 — Code blocks in Claude Code's chat interface only show a dark background without full syntax highlighting
Since code suggestions are the primary output of Claude Code, reading monochrome code is noticeably slower. Users already have grammars, language servers, and themes configured — the chat panel is the only place that ignores them.
Proposed implementation
VS Code exposes APIs for exactly this:
- TextMate grammar tokenization via
vscode.languages— renders with the active theme, no extra dependency - Shiki (same lib VS Code's markdown preview uses) — lightweight fallback
Expected behavior
Code blocks are tokenized by their language tag and styled with the active VS Code theme, matching the editor appearance.
Showing cached comments. Read the full discussion on GitHub ↗
9 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
👎
It's pointless to refer to issues that were closed without good reason.
I would really like this feature as well, similar to how in the claude code cli it has syntax highlighting.
please consider adding
how does this not have syntax highlighting yet..
Please do it, coders yearns for coloured code snippets!
Well, this is disgusting. So much time has passed, but the developers absolutely don't care about this problem, which their competitor solved long ago. Maybe it's time to cancel the subscription.
still relevant in the current version (2.1.220)
Please fix this. It's infuriating that copilot chat has this basic feature working and this extension doesn't