The engine derives every family from the seed. Overrides let you step in at the family level — change one family's source, or add families of your own — while the engine keeps the rest coherent.
For pinning a single shadcn role to an exact value, see Role overrides; this page covers the broader, family-level adjustments.
Palette override
A palette override changes the color a whole family is built from. You can override six families:
| Family | What it covers |
|---|---|
primary | The main accent and action family |
secondary | The supporting accent |
tertiary | The third accent |
error | Error and destructive states |
surface | The neutral backgrounds |
outline | Borders and dividers |
Pick a color for a family and its full range of shades rebuilds from your color. The other families are untouched. The variant's tone choices still apply — your color is the source of the family's ramp, not the exact shades, so the result stays balanced with the rest of the system.
A palette override is the right tool for a global shift in one family. It sits above the engine's output and below a role pin: if you later pin a specific role, the pin wins.
Under the CMF variant, the tertiary override is disabled, because tertiary is driven by the second source color instead.
Where overrides sit
Overrides are the third stage in the pipeline: they come after the engine and before surfaces and role pins. Each later stage can override what an earlier one produced, which is what lets you make a precise change in one place without it spreading.