Troubleshooting

The messages the app and DuckDB actually show, what each one means, and what I do about it.

These are the literal strings from the code, so search this page for the text on your screen. DuckDB's own errors start with a category such as Binder Error or Conversion Error.

Loading a file

What you seeWhyFix
This file is large (250MB). Processing may be slow. Continue?The file is over 100 MB. It will still load; the prompt is a warning.Continue on a laptop. Prefer Parquet for files this size: it says It will be loaded in streaming mode and reads only the columns a query needs.
This file is too large for in-browser processing. Try closing other tabs or using a smaller file.The tab ran out of memory. Browsers cap a tab at a few gigabytes.Close other tabs, or cut the file first. Converting a CSV to Parquet elsewhere often gets a file under the ceiling.
Loading is taking too long. Try a smaller file or filter it externally first.60 seconds passed (180 for PDFs, images and database files).Same as above. For a PDF, crop to the pages with tables before uploading.
This file is not a PDF: it has no PDF header. If it is a scan or a screenshot, upload it as a PNG or JPG instead.Something was renamed to .pdf.Do what it says. Images of tables go through OCR.

CSV shape and encoding

What you seeWhyFix
Rows in this file have inconsistent column counts, so short rows were padded with empty values.Some rows have fewer fields than the header. DuckDB's sniffer does not flag this, so the app checks the result itself and retries with padding.Nothing, if the short rows are real. Otherwise look for an unquoted comma in a text field. quality-messy.csv in the samples shows the warning.
Loaded with every column as text after stricter parses failed. Use type conversion to fix column types.The last-resort parse: every column VARCHAR.Open a Column Explorer card to see what is in the column, then Convert Type the ones that should be numbers or dates.
One column named id,name,city holding whole linesAn unclosed quote, or a delimiter the sniffer did not try.Click the gear on the file tab, Configure CSV parsing, and set Delimiter and Quote Character by hand.
This file is not valid UTF-8, so it was read as Windows-1252 (Latin). Check that accented characters look right.A Latin-1 or Windows export.Usually correct as is. If not, pick the Encoding in Configure CSV parsing.
A numeric column is text, values like $1,200.50Currency signs and thousands commas are text to the sniffer.Convert Type to Number strips $ , € £ ₹ % and accounting brackets before casting.

SQL Query steps

What you seeWhyFix
Binder Error: Referenced column "amount" not found in FROM clause!No column of that exact name at this point in the pipeline. Quoted names are case-sensitive.Check the header, or an earlier step that renamed or dropped it. "Amount" and "amount" are different columns once quoted.
Catalog Error: Table with name orders does not exist!The table is named after the file, with punctuation turned to underscores.Write FROM data. The alias always means the input to this step, whatever the file was called.
Conversion Error: Could not convert string '$1,200' to DOUBLEA CAST met a value it cannot read.Use TRY_CAST, which gives NULL instead of failing, or run Convert Type first, which cleans the string.
Binder Error: No function matches the given name and argument types 'sum(VARCHAR)'SUM on a text column.Convert the column to Number. The Group & Aggregate panel catches this earlier: SUM needs a number column, but "amount" is text. Convert it first with Convert Type.
A hand-written WHERE "notes" IS NULL misses blank cellsBlank text and NULL differ.Test both, the way the Condition Builder's is empty does: ("notes" IS NULL OR "notes" = '').

AI generation

What you seeWhyFix
Invalid API key. Check your key in Settings.The provider returned 401 or 403.Paste the key again and click Test. Keys are per provider; switching provider means entering its key.
Rate limited. Try again in 20s.429 from the provider.Wait the number of seconds shown.
Empty response. Try rephrasing your request.The model returned nothing once code fences were stripped.Name the columns you mean.
Generation failed after 4 attempts: …The output failed validation four times, with the error fed back each time.Read the trailing error; it is usually a column the model invented.

Everything else

What you seeWhyFix
Schema mismatch: existing table has 9 columns (…), but the new file has 8 columns (…).Appending a file whose header differs.Match the columns, or load it as a second table and use Union All.
Append is not supported for large parquet files loaded in streaming mode. Export as CSV first, then re-import.A streamed Parquet file is a read-only view.Do what it says, or use Union All.
A Session Expired screenThe app was opened from a stale copy that has not checked in with the site for a long time.Reload from exploremydata.com while online.
Open quality-messy.csv and watch the padding warning →