Screenshot

Image

Description

I've overwritten both primary and secondary colors in config.py THEME_OVERRIDES:

THEME_OVERRIDES = {
    "borderRadius": 4,
    "colors": {
        "primary": {
            "base": '#D4004A',
        "dark1": '#b5003f',
            "dark2": '#920033',
        "light1": '#dc0952',
        "light2": '#ffd9cd',
        "light3": '#ffd9cd',
        "light4": '#ffd9cd',
            "light5": '#ffd9cd'
        },
        "secondary": {
            "base": '#D4004A',
        "dark1": '#b5003f',
            "dark2": '#920033',
        "light1": '#dc0952',
        "light2": '#ffd9cd',
        "light3": '#ffd9cd',
        "light4": '#ffd9cd',
            "light5": '#ffd9cd'
        },
        "grayscale": {
            "base": '#485057'
        }
    }
}

(Yes, I know this override isn't perfectly logic yet - still am in the stage of figuring which color is used where). Despite overwriting the primary base blue (#20A7C9), it is still widely used in the UI (see screenshot). I refreshed the Dashboard using CRTL + F5 to ensure it's not some client caching issue.

I read this article: https://preset.io/blog/theming-superset-progress-update/ Even in there, the primary blue is not used everywhere (https://images.ctfassets.net/ykljvmtfxwdz/1E7cwNkQlPP9lw0NBw6DSw/b130be08281e3cdfbcf0b6cca39f38c8/Red_theme.png)

Is there a simple way to completely overwrite the primary base color in 4.1.x, or is this a known issue?

Comment From: dosubot[bot]

Hi @PhilippGrashoff! I'm Dosu and I’m helping the superset team.

This is a known limitation in Superset 4.1.x: THEME_OVERRIDES does not guarantee a full override of the primary color everywhere in the UI. Some components still use hardcoded color values or reference the default theme directly, so your custom primary color may not be picked up in all places. This is due to a mix of legacy code, incomplete adoption of theme tokens, and the evolving theming system. Full coverage is expected to improve in later versions, but in 4.1.x, some UI elements will still show the original blue even after setting THEME_OVERRIDES see discussion and theming roadmap.

There’s no simple switch to force a complete override in 4.1.x. You can try targeted CSS overrides for specific elements, but due to CSS specificity and dynamic style injection, this may require some trial and error. The theme editor (if enabled) or setting THEME_DARK in your config may help tweak some tokens, but full coverage is not guaranteed details.

If you need 100% color consistency, it may require waiting for a newer release or patching specific frontend components to reference the theme tokens everywhere.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

Comment From: PhilippGrashoff

Hello,

does 5.0.x already have improvements on this, or will this happen with v6?

Thanks

Comment From: dosubot[bot]

Full support for overriding the primary color everywhere via theming only arrives in Superset 6.0 and later, which introduces Ant Design v5’s token-based theming and the new THEME config. In 5.0.x, there are some improvements to color consistency and theming flexibility, but you still won’t get a universal primary color override—many UI elements may still use the default blue or hardcoded colors. The full overhaul and official support for instance-wide theming (including primary color) starts with v6.0, where you can use the THEME variable in your config and the Ant Design Theme Editor to define your palette. More details are in the official theming docs.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X