---
title: "redundant-variant"
description: "Reports a variant that adds no condition, such as hover:hover:."
image: "https://stillwind.dev/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://stillwind.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# redundant-variant

This rule reports a variant that adds no condition, such as a second `hover:` in
`hover:hover:`. It also reports a variant that another variant in the stack
already implies. With the default breakpoints, `sm:` is redundant in `sm:md:`
because every width that matches `md:` also matches `sm:`.

## Reported

```tsx
style("hover:hover:p-4");
style("sm:md:p-4");
```

> redundant-variant: variant `hover` repeats the earlier `hover` and has no effect
> 
> Example:1:14

> redundant-variant: variant `sm` has no effect because `md` implies its condition
> 
> Example:2:8

## Fixed

```tsx
style("hover:p-4");
style("md:p-4");
```

## How to fix

Remove the extra variant, and keep the others. The automatic fix removes it.

Variants that can never match together are reported by
[unsatisfiable-variants](/docs/lints/unsatisfiable-variants) instead.

## Rule settings

| Preset | Severity |
| --- | --- |
| `recommended` | warn |
| `strict` | deny |
| `stylistic` | off |

[Configure lint](/docs/configuration#lint) to change the severity or options.

Source: https://stillwind.dev/docs/lints/redundant-variant/index.mdx
