"I can't access this file" — what chat models actually do with uploads
You attach a file. The assistant replies that it can't open it, can't access it, or — sneakier — answers as if it read it while clearly having read almost nothing. The error message never says why. There are only four real causes, and they're easy to tell apart.
1 · What happens to an upload
No chat model reads your file directly. The platform runs an extractor first — a converter you can't see, configure, or get a quality report from — and pastes its output into the model's context. Every "can't read" error is that hidden extractor failing. The four failure modes:
2 · The extension isn't supported at all
Every platform supports a different list, and the lists change. Subtitle files, JSONL logs, notebook exports and odd spreadsheet variants are common casualties: the upload is simply rejected, or accepted and silently treated as an unreadable blob.
Fix: convert to Markdown — plain text is the one
format every assistant accepts everywhere, pasted or attached.
MakeItMarkdown handles .ipynb .docx .xlsx .csv .json .jsonl
.html .pdf .srt .vtt .md .txt in the browser.
3 · The PDF has no text layer
Scanned pages are photographs of text. The extractor finds nothing, and the assistant either says so or answers from the few fragments it got (page numbers, a header). Self-test: try selecting text in your PDF viewer — if you can't, it's a scan. Details and options: Scanned PDFs.
4 · The file is too big for the context window
A file can be perfectly readable and still fail: extracted, it
exceeds the model's input limit, so the platform truncates it
(usually silently) or refuses. Notebooks are the classic case — our
stress-test .ipynb is 3.5 MB of JSON that no chat
accepts, but converts to ~64,000 tokens of Markdown that fits. The
breakdown: Your
notebook is too big to paste.
5 · The container drowned the content
Office formats are ZIP archives of XML, media and themes. A mediocre extractor surfaces style junk, drops tables, or loses heading structure — the assistant "reads" the file and still answers badly. This is the silent version of the error, and the fidelity report exists precisely because you can't diagnose what you can't see: our converter counts what it detected and warns about what's shaky instead of pretending.
6 · The general fix
- Convert the file to Markdown locally — drop it here; nothing uploads.
- Read the fidelity report: it tells you which of the four problems you actually had (unsupported? scanned? huge? structure loss?).
- Paste or attach the
.md— or use the Chat preset, which truncates long outputs and adds a token estimate so you know it fits before you paste.
Convert the file that just failed — and read the report that explains why it failed.