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're talking about. You re-upload.

That's not a bug. It's 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're in a single conversation, Claude can see your file. You upload the CSV, it reads the contents, and every follow-up question in that same thread has the file in context. Ask “what's the total?”, then “now break it down by month”, then “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 doesn't carry the CSV over, because it was never stored anywhere you'd keep it. It was just 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're still in the same chat. That's a different thing, and it's usually about size.

A CSV isn't 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 stuff can fall out of view. That's less “it forgot the file” and more “the file was too big to hold all at once.” I wrote about where that ceiling actually is 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. So you upload your CSV once, and every new conversation in that project can reach it without you re-uploading. That's a real improvement over a plain chat, and if you're working solo it might be all you need. (Files cap at 30MB each, up to 20 per project, last I checked.)

But two things don't change.

It's 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 doesn't have it. They upload their own copy, into their own project, and now there are two. Multiply that across a team and you've got the spreadsheet-in-everyone's-inbox problem, just moved into Claude.

It's 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's doing that in its head, over whatever slice it retrieved. For a clean aggregate on a big file, that's 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 don't solve “can my team query this” or “is this an exact answer over the whole file.”

The honest version of the tradeoff

Here's 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's free and it's 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 you or someone else needs the same answer next week, or when “kind of right” isn't good enough because someone's making a decision on it.

That's 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's just there, like any other table you've connected.

And it's 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. Same file also sits next to your warehouse data, so a question can span both.

That's 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 math instead of a good guess.

If you're a solo 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's 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.

Related reading