# X_QUERY_DOWNLOAD_ONLY

## Means

rows were asked of a query that answers a file

## Typical cause

a download query was read for rows — called through sourceFor, .as(), .page(), .live(), explain or an MCP tool — and it has no sql to read them with

## Fix

`await recording.url(input)   # a download query mints its signed URL; await recording(input) is the file in-process`

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