The browser quietly became the actual desktop about fifteen years ago, and nobody redesigned it for that job, so the tab strip is still a single horizontal pile of everything you have open, work tickets next to holiday research next to a video you paused in March, and every browser vendor’s answer has been to add a feature and stop, containers here, tab groups there, a vertical tab experiment if you know where to look, none of which answer the question a person with sixty tabs is actually asking, which is not “how do I color this tab” but “which project am I sitting in right now, and where did the other projects go.”
Foxden is our answer to that question, a workspace manager for Firefox that treats a set of tabs as a named room you can walk out of and back into, and it is unapologetically a small add-on that fixes one thing, the same way a good lamp fixes one room, because the interesting lesson from building it is not the feature list, it is that the one-thing-well add-on is still a viable category of software and Mozilla Add-ons is still a good place to ship one.
Workspaces are just desks
The model is the one your physical desk already uses, where each workspace is a named group of tabs with a color and an optional folder, switching workspaces hides the old set and restores the new one instantly, and the tab bar stops being a landfill because everything that is not the current project simply is not rendered there, which turns out to matter more for attention than any reader mode ever did.
On top of the basics sit the features that keep a growing pile of rooms livable: eight preset workspace colors so the active context is legible at a glance, pinned workspaces for the ones you live in, templates for the project shape you spin up every sprint, duplicate-with-tabs for branching an investigation, and folders with smart rules that can collect workspaces by pinned state, tag, or domain, so the sidebar organizes itself once you stop wanting to do it by hand.
The feature people end up loving is the one that removes a decision, and here it is workspace rules, a small list of patterns that routes new tabs into the right workspace automatically:
[
{ "matchType": "domain", "pattern": "github.com", "targetWorkspaceName": "Code Review" },
{ "matchType": "domain", "pattern": "docs.google", "targetWorkspaceName": "Writing" },
{ "matchType": "url", "pattern": "jira/browse", "targetWorkspaceName": "Tickets" }
]
A tab opened from a link in chat lands in the room it belongs to instead of the room you happened to be standing in, and that one behavior is the difference between a workspace manager you configure once and a tab organizer you abandon in a week, because manual sorting is a chore and chores lose to entropy every single time.
The keyboard is the interface
Power users do not want a sidebar, they want a verb, so every core action in Foxden has a shortcut: Alt+W opens the popup, Alt+Shift+N makes a workspace, Ctrl+Alt+Left and Ctrl+Alt+Right walk between them, Alt+1 through Alt+9 jump straight to a position, Alt+P opens the quick switcher, and Alt+M files the current tab into another workspace without touching the mouse.
The quick switcher doubles as global search across every tab in every workspace, title and URL, arrow keys and Enter, which quietly solves the other half of the sixty-tab problem, the “I know it is open somewhere” half, because finding a tab you already have is strictly better than opening a duplicate, and duplicate tabs are how the pile got to sixty in the first place.
Suspend, because RAM is finite
Workspaces you are not sitting in can be suspended, which discards the tabs’ loaded state while keeping their place, and the memory comes back without losing the room, a feature that used to be famous under the name The Great Suspender before that add-on was sold, stuffed with tracking, and pulled from the Chrome Web Store in 2021, which is exactly why this feature has to ship as readable open source with no network calls or not at all.
Firefox’s own discard machinery does the heavy lifting here and Foxden just points it at a whole room at once, but the trust lesson is the real one, since an extension that can see every tab you own is an extension you should be able to read, which brings us to how the thing is built and where it is sold.
Why Mozilla Add-ons is still a good home
Foxden is plain JavaScript with no build tools at all, no bundler, no transpiler, no node_modules, so the code in the repository is byte-for-byte the code reviewers at Mozilla read and the code that runs in your browser, and that is not nostalgia for the old days, it is a deliberate supply-chain choice, because an add-on that handles your tabs should not have a build step between what you audit and what you execute.
The lineage is honest about it too, Foxden descends from fm-sys/firefox-workspaces, which itself descends from the older workspace-manager add-on, and we kept the MPL-2.0 license that came with that family rather than re-licensing to our usual GPL-3.0-only, because derivative works have rules and following them is the entire point of building in the open.
Mozilla Add-ons remains a good home for this shape of software for boring reasons that compound: review by humans, signing that means something, automatic updates to every install, and a store page that does not ask you to make an account before the thing works, and for a utility whose entire promise is “your tabs stay yours,” a distribution channel with no growth-hacking incentive is the only one that makes sense.
One honest constraint lives in the version floor, since Foxden needs Firefox 147 or newer because it builds on the native tabGroups API rather than emulating groups with hidden tabs alone, and betting on a brand-new platform API is the kind of dependency you take only when the API does exactly the dangerous part for you.
What you give up
The tradeoffs are the usual WebExtensions ones, and pretending otherwise would be marketing: an add-on cannot restyle the browser chrome, cannot reach into other extensions, and lives inside the permissions Firefox grants it, so Foxden organizes tabs beautifully and touches nothing else, which is a limitation on the days you wish it could theme the window and a relief on the days you remember what it could otherwise see.
It is also Firefox-only, deliberately, and there is no account, no sync service, and no server, so moving workspaces between machines means the export button, which writes a plain JSON file you can inspect, diff, check into git, or email to yourself, a workflow that feels quaint until the day a sync provider shuts down and takes your layout with it, a day that has arrived for more than one beloved add-on in living memory.
The modern equivalent of the whole idea has been reinvented three times now, from Firefox’s own Panorama feature that shipped in Firefox 4 and was removed in 2016, through the XUL-era tab managers that died with the extension apocalypse of 2017, to the Great Suspender’s cautionary tale, and the pattern is always the same: the problem is permanent, the implementations keep getting killed by platform shifts and incentives, so the fix that survives is the small one, readable in an afternoon, built on the platform’s own API, and sold in a store that lets it stay small, which is the whole reason we made a den instead of a suite.
