ChatGPT Projects, Explained: How They Work, Limits & Projects vs Folders

I didn’t touch ChatGPT Projects for months after launch — my sidebar was already such a mess that adding another container felt like more admin, not less. Once I actually used them for a real body of work (a recurring client engagement with its own reference docs), I understood what they’re for and, more usefully, what they’re not for. This is the practical version of that: how Projects work, the limits that actually bite, and where they hand off to folders.

What are ChatGPT Projects?

ChatGPT Projects are isolated workspaces that bundle a set of chats with shared reference files and project-scoped context, so you’re not re-explaining or re-uploading the same background every time you start a new conversation. It’s OpenAI’s answer to the “I keep pasting the same spec into every new chat” problem.

The projects feature is available on every plan — Free, Plus, Go, Pro, Team, Business, and Enterprise all get it. What differs by tier is how many reference files you can attach to a single project, which I’ll get into in the limits section below. A Project isn’t a folder in the file-system sense; think of it more as a room with its own shelf of documents. Chats you create inside it, or move into it, can draw on whatever’s on that shelf.

This is a deliberately different model from Claude’s take on the same idea. Claude Projects lean harder on a persistent, editable system-prompt field alongside knowledge files — you write instructions once (“respond in British English,” “assume TypeScript familiarity”) and every chat in the project inherits them verbatim. ChatGPT’s version is closer to folder-style grouping with attached files and, where available, memory scoped to the project, rather than a single instructions field you edit directly. Neither is strictly better; they’re solving the “stop repeating myself” problem with slightly different mechanisms. If you use both platforms, it’s worth reading how the two actually diverge in Claude Projects, explained rather than assuming they behave identically because they share a name.

How do ChatGPT Projects work?

A Project works by scoping two things — files and, on paid plans, memory — to whichever chats live inside it. Upload a reference document to a project and every chat inside that project can pull from it without you re-attaching anything. Start a new chat from inside the project (rather than from the main “New chat” button) and it inherits that context automatically.

This is the mechanism that makes Projects useful for a recurring context: a client engagement, a course you’re working through, a side project with its own product spec. Instead of a flat pile of chats that all start from zero, you get a handful of rooms, each with its own reference shelf.

What Projects are not is a general-purpose organizing layer for your entire chat history. A Project groups new work you deliberately put there — it doesn’t reach back and sort the 300 chats you already have sitting in your main timeline. That distinction matters more than it sounds like it should, and it’s the crux of the vs-folders section below.

How to use ChatGPT Projects

Setting one up takes under a minute; populating it with the right context and migrating old chats is where the real work is. Here’s the step-by-step:

  1. Create the project. In the ChatGPT sidebar, click “New project,” give it a name, and you’re in. There’s no meaningful setup beyond naming it.
  2. Upload reference files. From inside the project, attach the documents you want every chat in that project to have access to — a spec, a style guide, a dataset. Your plan’s file-count cap applies here (see limits below), and each file can be up to 512MB.
  3. Start new chats from inside the project. Any conversation you begin from within the project inherits its files and context. This is the cleanest path — new work, born inside the right room.
  4. Move existing chats in, two ways. Drag a chat from your main sidebar list directly onto the project’s name and drop it — the UI highlights the project on a valid drop. Or, if dragging feels clumsy with a long list, click the ”…” menu next to any chat, choose “Move to project,” and pick the destination from the dialog.
  5. Know the one hard exception. Chats created with a custom GPT cannot be moved into a project — not by drag-and-drop, not through the menu. If your custom-GPT chats matter to you, they’re staying in your main timeline no matter what you do here.

That’s the entire native workflow. It’s genuinely quick for new work. It’s the migration of existing history where people hit friction, which brings us to the actual constraints.

ChatGPT Projects limits: what you’ll actually hit

The limits that matter aren’t hidden in fine print — they’re structural, and they show up the moment you try to use Projects as a full organizing system rather than a workspace for new work.

File caps scale with plan. Free accounts get 5 reference files per project. Plus and Go get 25. Pro, Team, Business, and Enterprise get 40. Every tier shares the same 512MB per-file ceiling. Hit your tier’s count limit and you have to delete an existing file before you can add a new one — there’s no way around it short of upgrading.

No nesting. A project is a flat room, not a tree. You can’t create a project inside a project, and there’s no subfolder concept at all. If your work naturally splits into a client, then that client’s three ongoing workstreams, Projects can only represent the client — the workstreams all pile into the same room.

Search doesn’t cross project boundaries cleanly. ChatGPT’s sidebar search (Cmd+K on Mac, Ctrl+K on Windows, or the magnifying glass icon) matches titles and message content across your account, which does help you locate a chat regardless of which project it’s stuffed into. But it’s exact-keyword matching with no filters — no “search only within this project,” no fuzzy matching, no way to scope a query to a folder-like grouping. For casual lookups it’s fine. For a real audit of “what have I discussed about X across the last year,” it runs out of road fast.

Sidebar visibility caps out around 20. OpenAI hasn’t published an official ceiling on how many projects you can create, but in practice the sidebar reliably shows only about 20 before older ones get pushed out of easy reach. Create 50 projects and the extras become a search-and-scroll exercise, which defeats the point of a projects feature meant to reduce that exact friction.

Custom GPT chats are permanently excluded. This is the one that surprises people the most. If you’ve built a custom GPT tuned for a recurring task — writing your newsletter, reviewing PRs in your house style — every chat that uses it is locked out of the Projects system entirely. No drag, no menu option, nothing. Your custom-GPT work and your regular-model work will never live in the same room.

Moving chats is deliberate, not automatic. Projects group work you actively assign to them. There’s no retroactive sort, no bulk “organize my last six months of chats into projects” action. Every chat that predates the project you just created is still sitting exactly where it was, in your flat chronological history, until you individually drag or move it.

For context, this puts ChatGPT ahead of Claude on one specific axis and behind on another. Claude caps Free accounts at 5 projects total (unlimited on Pro, Max, Team, and Enterprise), whereas ChatGPT publishes no hard cap on any tier — you’re bounded by sidebar usability, not a plan restriction. But Claude’s projects carry a persistent, directly editable instructions field, which ChatGPT’s don’t expose in quite the same form. Neither platform’s project system was built to replace a general folder structure for your whole account; they were built to give a specific, bounded body of work its own shared context.

ChatGPT Projects vs folders: which do you need?

Projects and folders solve different problems, and the honest answer is most heavy users eventually want both. Projects are for grouping new work around shared files and context; folders are for organizing everything you already have without moving anything.

Here’s where that distinction actually shows up:

  • Retroactive organization. Projects don’t reach back into your existing chat history — you’d have to drag or menu-move each old chat in individually, one at a time, with no bulk action. A folder system built into a browser extension reads your existing history and lets you assign chats to folders in place; nothing about the chat itself changes.
  • Nesting. Projects are flat, full stop — no project inside a project. Folder extensions can support subfolders (one level deep, in the case of NorthLab Folders’ Pro tier), so a client folder can hold separate subfolders for each workstream.
  • Chats stay put. Moving a chat into a Project changes where it lives in the product’s mental model — it comes out of your main timeline and into that project’s room. Folders are closer to labels: a chat can sit in a folder without ever leaving your regular history, and (depending on the tool) can be pinned or tagged without the move friction Projects impose.
  • Custom GPT chats. Projects flatly refuse to hold them. A folder system that reads your chat list doesn’t care what model or GPT generated a conversation — it can be assigned like any other chat.

A quick side-by-side of where each one actually helps:

You want to…Use
Start new work with shared files and contextChatGPT Project
Sort the 300 chats already in your historyFolders (extension)
Nest a client into per-workstream groupsFolders — Projects can’t nest
Keep custom GPT chats organized alongside everything elseFolders — Projects can’t hold them
Bulk-export a whole body of work as MarkdownFolders (Pro tier)

Full disclosure: we make NorthLab Folders, a browser extension that adds a folder sidebar to chatgpt.com and claude.ai. It doesn’t compete with Projects so much as cover what Projects were never designed to do — sorting the pile of chats you already have. It’s honest about its own limits too: there’s no cross-chat search yet, and it doesn’t sync anything to the cloud — it’s local-first, meaning your conversation content never leaves your browser; the extension stores only folder names and chat IDs. Free gets you 3 folders, pinning, date stamps, “Copy as Markdown,” and single-chat export. If you want unlimited folders, one level of subfolders, and bulk export of a whole folder as a zip of Markdown files, that’s the Pro tier.

For the fuller decision tree of chats vs. projects vs. Anthropic’s newer Skills feature on the Claude side, see Claude Projects vs Chats vs Skills. For a deeper look at every native and third-party option on the ChatGPT side specifically — naming conventions, archiving, local export, and a full extension comparison — see how to organize ChatGPT chats and the roundup of the best ChatGPT folder extensions.

When ChatGPT Projects aren’t enough

Projects stop being enough the moment your problem is “I have hundreds of existing chats and no way to sort them” rather than “I’m starting new work that needs shared context.” That’s a different problem, and no amount of new-project creation solves it, because Projects were built to hold new work, not retrofit old work.

The tell is usually the 3-chat native pin limit combined with a Projects list that’s already brushing up against the ~20-project visibility ceiling. At that point you’re not under-using Projects — you’ve outgrown what a flat, non-nesting, forward-only container can do for you. That’s exactly the gap a folder extension is built to fill: it works on the chats you already have, supports one level of nesting for the workstreams-within-a-client structure Projects can’t represent, and never asks you to choose between “in a project” and “in my regular history.”

There’s also a practical migration reason people avoid moving old chats into Projects even when they’d technically benefit: the ”…” menu approach is a one-at-a-time operation, and dragging gets unreliable once your sidebar is long enough that you’re scrolling and dragging at the same time. Nobody wants to spend an afternoon individually re-homing 200 old conversations. A folder extension sidesteps that entirely — you’re assigning existing chats to a folder in place, not relocating them into a different structural container, so there’s no equivalent of the drag-while-scrolling problem.

If you’re deciding between the two systems for your own workflow, my rule of thumb: use Projects when you’re kicking off something new that needs its own reference files and context. Use folders for the rest — which, if you’ve been using ChatGPT for more than a few months, is most of your history. They’re not competing for the same job, and running both isn’t redundant; it’s just matching the tool to the shape of the problem.

Frequently asked questions

What are ChatGPT Projects?

ChatGPT Projects are isolated workspaces that group related chats together with their own reference files and, on paid plans, project-scoped memory. The feature is available on every tier, including Free, though file upload limits vary by plan.

How many projects can I create in ChatGPT?

There’s no officially published cap on the total number of projects. In practice, though, the sidebar reliably shows only around 20 before older ones become hard to find — project sprawl becomes the real limit long before any hard number does.

Can I move existing ChatGPT chats into a project?

Yes — drag a chat onto a project name in the sidebar, or click the ”…” menu next to any chat and choose “Move to project.” The one exception is chats created with a custom GPT: those can’t be moved into a project at all and stay in your main timeline permanently.

Are ChatGPT Projects the same as folders?

Not quite. Projects isolate new work with shared files and context, but they can’t nest, don’t retroactively organize the hundreds of chats you already have, and moving chats in bulk has real friction. Folders, via a browser extension, organize everything you already have without moving a single chat out of your normal history.

How many files can I upload to a ChatGPT project?

It depends on your plan: Free gets 5 files per project, Plus and Go get 25, and Pro, Team, Business, and Enterprise get 40. The maximum size per individual file is 512MB regardless of tier.