# X_QUERY_ETAG_INVALID

## Means

etag: true on a read that has its own validator

## Typical cause

query({ etag: true }) on a download read or a live read — a download answers its own ETag, and a live read is revalidated by its cursor

## Fix

`query({ input, policy, sql })  # the declaration the cause names, with etag: true removed; a live read's cursor is its validator`

[Queries and live queries](/error-codes#queries-and-live-queries)
