Contextflo Blog

Does Claude Remember Your CSV After the Chat Ends?

No. A chat upload only lasts that conversation. Why Claude forgets your CSV, what Projects do and don't fix, and how to make a file your whole team can query.

July 16, 20264 min readVivek Sah

No. It doesn't.

You drop a CSV into Claude, ask a few questions, get good answers. Come back tomorrow, open a new chat, and the file is gone. Claude has no idea what you are talking about. You re-upload.

That is not a bug. It is just how chat works. And once you know why, it stops being annoying and starts being predictable.

What actually happens inside one chat

While you are in a single conversation, Claude can see your file. You upload the CSV, it reads the contents, and every follow-up question in that thread has the file in context. Ask for the total, then break it down by month, then ask which region dropped: all fine. The file is right there for the whole chat.

The catch is the boundary. That file lives inside that one conversation and nowhere else. New chat, new blank slate. Claude does not carry the CSV over, because it was never stored anywhere you would keep it. It was part of the message history for that thread.

So the mental model is simple: the file is remembered for the length of the conversation, not past it.

"But I swear it forgot something mid-chat"

Sometimes it feels like Claude forgets the file even while you are still in the same chat. That is a different thing, and it is usually about size.

A CSV is not magic to a language model. It gets read as text, and text costs tokens. A big file eats a big chunk of the context window. If the file plus your back-and-forth gets long enough, the earliest content can fall out of view. That is less "it forgot the file" and more "the file was too big to hold all at once." I wrote about where that ceiling actually sits in the Claude CSV row limit post.

For most small files this never comes up. For a 200k-row export, it comes up fast.

Do Claude Projects fix this?

Kind of. This is the part worth getting right.

Claude Projects let you attach files to a project's knowledge base, and those files persist across every chat inside that project. Upload your CSV once and every new conversation in that project can reach it without re-uploading. That is a real improvement over a plain chat, and if you are working solo it might be all you need. (Files cap at 30MB each, up to 20 per project, last I checked.)

But two things do not change.

It is still yours, not your team's. A project lives in your account. The CSV you parked there is reachable by you, in your conversations. Your teammate asking the same question next week does not have it. They upload their own copy, into their own project, and now there are two. Multiply that across a team and you have the spreadsheet-in-everyone's-inbox problem, moved into Claude.

It is still not real SQL. Projects use retrieval: Claude pulls relevant chunks of your file back into context when it thinks it needs them. That works well for documents. For a data file it means Claude is reading rows as text and reasoning over them, not running a query. Ask for average order value by region and it is doing that in its head, over whatever slice it retrieved. For a clean aggregate on a big file, that is exactly the kind of thing a GROUP BY does perfectly and a language model does approximately.

So Projects solve "do I have to re-upload." They do not solve "can my team query this" or "is this an exact answer over the whole file."

The honest version of the tradeoff

Here is the part product blogs skip. For a quick, personal, one-off file, none of this matters. Drop it in a chat, ask your question, move on. It is free and fast, and reaching for anything heavier is overkill. I do this constantly.

The re-upload tax only starts to hurt when the same file matters more than once, when someone else needs the same answer next week, or when "kind of right" is not good enough because a decision is riding on it.

That is the line. Below it, chat is the right tool. Above it, you want the file to stick around, be queryable by anyone, and give exact answers.

Where this is going for us

That above-the-line case is the one we built Contextflo for.

You upload the CSV once. It becomes a real table, stored in a bucket only your org can touch. From then on anyone on your team can query it from Claude without re-uploading anything. It is just there, like any other connected table.

And it is queried with actual SQL. We load the file into DuckDB at query time, so average order value by region is a real aggregate over every row, not the model eyeballing a retrieved sample. The same file sits next to your warehouse data, so a question can span both.

That is the whole difference. A chat upload is remembered until you close the tab. A project file is remembered for you. A table is remembered for the team, and it answers with arithmetic instead of a good guess.

If you are one person poking at a file once, ignore all of this and use the chat. If the same CSV keeps coming back and more than one person needs it, that is the gap worth closing.

FAQ

Does Claude remember my CSV after I start a new chat? No. In a plain chat, an uploaded file only exists for that conversation. Start a new chat and you have to upload it again.

Why does Claude forget my CSV mid-conversation sometimes? Usually the file is large. Claude reads a CSV as text, and a big file plus a long conversation can exceed the context window, pushing the earliest content out of view. Smaller files rarely hit this.

Do Claude Projects keep my files around? Yes, within that project. Files in a project's knowledge base persist across all chats in that project, so you don't re-upload. But they're scoped to your account, not shared with your team, and Claude retrieves from them rather than running SQL.

How do I make a CSV queryable by my whole team without re-uploading? You need the file stored as a persistent, shared table rather than a chat attachment. That's what Contextflo does. The CSV becomes an org-scoped table queried with real SQL from Claude, so anyone on the team can ask questions against it any time.

Free for one user and one data source. Upload a CSV and ask a question.

Get started for free, or talk to the founder.