Why I Built a Folders Extension for Claude
- Browser Extensions
- Claude
- Indie
- Product
There's a moment every heavy Claude user hits. You open the sidebar and you're looking at a hundred chats with names like "Draft email" and "Refactor this" and "Quick question about…" and you realize: there is no way out of this.
You can't make a folder. You can't nest anything. You can't pin a specific conversation. You can use Projects, but Projects are a different thing — they're scoped workspaces with shared context and knowledge files, not a way to organize individual chats. And on the Free plan you only get five of them. There's no native "Folders" concept in Claude at all.
I know this because I kept running into it. I use Claude daily — for writing, for code review, for thinking through product decisions. After a few months the sidebar becomes archaeology. You're digging through strata looking for that one conversation where you worked out the architecture for something, or the draft you never finished.
I searched for a solution, wrote up everything I found about workarounds and the current state of Claude's organizing model, and then decided: I'm going to build the thing that should already exist.
What Claude's model taught me
Before building anything, I had to actually understand Claude's organizing primitives. This turned out to be more instructive than I expected.
Projects are the only first-class organizational unit claude.ai offers. They're good at what they do — you load in knowledge files (up to 30MB), they persist context across chats, they feel like a lightweight workspace. But they have real limits: no nesting, one project per chat, and you can star a project but you can't pin an individual conversation. A Project is for a domain of work, not for keeping a single important thread visible.
The other thing I kept seeing people ask about: "Can Claude read my local folders?" The answer depends heavily on which Claude you're talking about. The web app can't touch your filesystem at all. Claude Code — the CLI — operates in your terminal and reads files naturally. Claude Desktop can reach the filesystem through MCP connectors. But in the browser, on claude.ai, you're working with a fully server-side product. Local filesystem is off the table.
That constraint actually clarified the problem for me. The organizing layer I needed wasn't a sync service or a filesystem abstraction. It was something that could live in the browser, close to the UI, and do one thing well: let me group chats.
The decision to live inside the sidebar
Early on I considered building a separate companion app — something that opens alongside Claude and lets you manage your chats from there. I dropped that idea fast.
The friction of switching contexts is the whole problem. If organizing a conversation requires leaving the conversation, you don't do it. The bar has to be: you're already in claude.ai, you drag something to a folder, and it's done.
That meant building a browser extension and injecting a real folder sidebar directly into the claude.ai interface. Manifest V3, content scripts, the works. It's more constrained than a standalone app and you're always one site update away from a layout change breaking your selectors — but the UX payoff is worth it. The extension lives where the work is.
It also meant building for Chrome/Edge/Brave/Arc/Opera via the Chrome Web Store, but also shipping a Safari web extension on macOS. Safari requires a native wrapper app — notarized, signed, distributed as a DMG — which is its own project. But skipping Safari would have meant skipping a meaningful chunk of the people I know who live in it, including myself on some machines.
Local-first was never a debate
Some early feedback I got: "Will this sync across my devices?" The honest answer is no, not built-in, and I want to explain why that was a deliberate choice rather than an oversight.
NorthLab Folders stores everything in the browser's local extension storage: your folder names, the chat IDs that belong to each folder. That's it. Conversation content is read in-page to render the sidebar and power the Markdown/JSON export — it never leaves your machine. There's no backend. No account. No analytics. The only outbound network call is the Pro license check against Lemon Squeezy.
The alternative — building a sync backend — would have made cross-device sync possible, but it would also have meant storing at minimum your folder structure on a server I run, and I'd have needed to think carefully about what chat metadata gets uploaded and when. It would have made the privacy story murkier. And it would have introduced a dependency: if my server goes down, your folders don't work.
I've written enough software to know that "no server" is a genuinely good architecture for a lot of problems, not just a shortcut. Local-first means the extension works offline, works fast, and the only data risk is whatever you're already trusting your browser with.
The tradeoff is real: if you use Claude on multiple machines, your folders live on each browser separately. I'd rather ship that honest limitation than paper over it.
What I'd do differently
The thing I underestimated most was distribution. Building the extension was a few weeks of focused work. Getting it in front of people — app store listings, SEO, content — turned out to be an ongoing project of its own. I built out a hub of guides on northlabapps.com/blog covering the territory around Claude organization and folder management, which has helped with discovery, but it's a slow burn.
I also didn't anticipate how much the Safari distribution story would confuse people. The Chrome Web Store install is one click. The Safari path is: download a DMG, install an app, enable the extension in Safari settings. That's more friction than I'd like, and I haven't fully solved explaining it without it sounding complicated.
Why this exists
I didn't build NorthLab Folders to fill a gap Anthropic forgot about. I built it because organizing your thinking is part of thinking, and the tool you use for hours a day should support that.
Claude is genuinely good at being a thinking partner. Losing the thread of a previous conversation because it sank below the fold is a small but real cost, compounded across hundreds of sessions. A folder sidebar is not a flashy product. It's the unsexy thing that just makes the daily experience better.
That's usually worth building.