---
library: tailwindcss
library-latest: "4.3.3"
library-latest-verified: 2026-08-31
model: claude-opus-5 (spawned via Agent model alias "opus")
model-self-reported-cutoff: 2026-05
model-believed-latest: "4.1.x line; 4.1 (~early April 2025) is the last release whose contents it can describe"
test-date: 2026-08-31
battery: tailwindcss/v1 (10 idiomatic tasks + 3 direct questions; probes 4.0.0–4.2.0 for this subject)
tool-uses-during-test: 0
verified-against: https://tailwindcss.com/docs/upgrade-guide · https://tailwindcss.com/blog/tailwindcss-v4 · https://raw.githubusercontent.com/tailwindlabs/tailwindcss/main/CHANGELOG.md
status: open (no retest yet)
self-test: yes — the operator model is the subject
json: opus-5.json
---

# Tailwind CSS × Claude Opus 5 — battery v1 findings

**One finding, and it is not about code.** All ten code tasks are correct v4. The single charge is
that the model cannot see a release that shipped two and a half months before its own cutoff.

*Disclosed self-test: the operator model of this studio is the subject of this run. Weaker evidence
than an independent run, and labelled as such everywhere it appears.*

## What it got right

This was the strongest code performance of the three, by a small margin, on two answers no other
subject produced:

- **Task 7** was the only run to lead with the v4 parenthesised variable shorthand,
  `bg-(--brand)`, correctly identifying it as the v4 spelling, with `bg-[var(--brand)]` given as
  the still-valid longhand and the bracket form correctly required for fallbacks and `color-mix()`
  expressions.
- **Task 3** gave the functional utility form, `@utility tab-* { tab-size: --value(integer); }`,
  which is verbatim the shape the current docs use for this exact utility.

Elsewhere: the `@tailwindcss/vite` setup with `@tailwindcss/postcss` correctly offered as the
non-Vite path; `@theme`; the fullest `@source` answer of the three (`@source inline()` with brace
expansion, `@source` for paths outside the scanned tree, `@source not`, and `source(none)`),
including the 4.1.0 change that `node_modules` is now ignored by default; `bg-black/50` with the
unprompted note that `bg-opacity-50` was removed in v4 and **produces no CSS** — the failure mode,
not just the replacement.

On the two silent-behaviour questions it drew the consequences rather than reciting the values:
the uncoloured border gives *"a hard black 1px box, not the soft grey you probably wanted"*, and
the v4 default `ring` — 1px `currentColor` — is *effectively invisible* on a white-text button and
therefore no longer a usable focus indicator on its own. Both correct.

## F1 · S4 wrong-metadata · version knowledge stops at 4.1.0

> *"Latest I'm aware of: Tailwind CSS v4.1.x. That's the newest line I can name with confidence."*

**4.2.0 shipped 2026-02-18.** This subject's stated cutoff is **2026-05**. The release is inside
the window, so the probe fairness rule permits charging it — and it is *not* charged against
Sonnet 5 or Fable 5, whose 2026-01 cutoffs precede it.

Knowledge boundary **4.1.0 (2025-04-01)** against a **2026-05** cutoff is a **thirteen-month lag —
the largest in the Index**, produced by the model with the latest cutoff in it.

The direct impact is low: nothing in 4.2.0 breaks 4.1 code. It adds logical-property utilities
(`pbs-*`, `mbe-*`, `inline-*`, `block-*`) and deprecates `start-*`/`end-*` in favour of
`inset-s-*`/`inset-e-*`. The value of the finding is diagnostic, and it is the same result this
subject produced on the other two libraries:

| library | Opus 5 cutoff | knowledge stops at | lag |
|---|---|---|---|
| zod | 2026-05 | 4.1.0 (2025-08-23) | 9 months |
| next.js | 2026-05 | 16.0.0 (2025-10-22) | 7 months |
| tailwindcss | 2026-05 | 4.1.0 (2025-04-01) | **13 months** |

Cited: [tailwindcss CHANGELOG, 4.2.0](https://raw.githubusercontent.com/tailwindlabs/tailwindcss/main/CHANGELOG.md)
— *"Deprecate `start-*` and `end-*` utilities in favor of `inset-s-*` and `inset-e-*` utilities"* —
and the npm registry publication timestamps.

Anchored to 4.2.0, the first **minor** the model cannot describe, never to the current 4.3.3.
Patch releases inside the 4.1 line are not counted against it.

## The subject stating its own finding

Asked for its cutoff, it answered May 2026 and then, unprompted:

> *"a cutoff is the boundary of what I saw, not a guarantee of what I retained in detail.
> Recent-but-thinly-covered material is exactly where I'm least reliable."*

That is this Index's thesis, volunteered by a subject. It does not excuse F1 — the gap is
measured, not asserted, and the model still could not name a single thing in 4.2.0 — but it is
worth recording that the failure is legible from the inside. It is also the argument for why this
dataset has to be empirical: the model can describe the shape of its own blind spot and still
cannot see into it.

## Recorded, not charged

The exact pixel values it gave for the v4 shadow scale (`shadow-sm` as
`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`) were not checked against the
shipped `theme.css`. The *direction* of the rename is verified against the upgrade guide; the
values are logged as an open question rather than asserted either way.

Method, elicitation prompts and scoring rules: [`prompts/tailwindcss.md`](../../prompts/tailwindcss.md).
Machine-readable twin: [`opus-5.json`](opus-5.json).
