[Bug] Custom theme overrides not applied to inline code and file paths in markdown output

Status Open
Reported on v2.1.285
Maintainer reply None cached
Activity 0 comments · opened Oct 2, 2026

Bug Description
Custom theme overrides don't apply to inline code / file paths in markdown output

Version: 2.1.285 (Homebrew cask, macOS arm64)

Custom theme ~/.claude/themes/finn.json with "base": "dark" and "permission": "#c792ff". Selected via /theme ("Using custom theme").

Expected: inline code and file paths in Claude's responses render in #c792ff, since the markdown renderer colors codespans with the permission token.

Actual: they still render in the stock dark permission color rgb(177,185,249). The same override does apply to dialog borders.

Cause, based on reading the bundled JS:

  • The codespan renderer calls xn("permission", t), where t is currentTheme from the theme hook.
  • For a custom theme, currentTheme is the base name ("dark"), not the merged theme with overrides.
  • xn resolves a string theme with typeof r==="string"?bL(r):r, and bL("dark") returns the built-in palette, so the overrides are dropped.

Likely fix: pass resolvedTheme (which includes activeThemeOverrides) to the markdown renderer instead of currentTheme. Other markdown elements that use theme tokens are probably affected
too.

Also, the docs' color token reference describes permission only as dialog borders. It would help to mention that it also colors inline code, or to add a separate token for it.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.285
  • Feedback ID: 52d8c5b5-4827-4669-a05e-bb51c377d03f

Errors

[]

View original on GitHub ↗