# X_TEST_BARE_ERROR

## Means

a test reports its own verdict by throwing a bare `Error`

## Typical cause

`CLAUDE.md` says never throw a bare `Error` and `checkErrorFixes` skips test files, so in tests the rule was prose — 422 sites accumulated under a green gate, up from 295 when the issue was opened. A ratchet per package: the count may fall and may never rise. A `new Error` handed to the code under test is **input**, not a verdict, and is never reported

## Fix

replace the throw the finding names with `expect.unreachable('<what was expected>')` — its `never` return also narrows the variable, so the cast below it goes away

[CLI and verify](/error-codes#cli-and-verify)
