Tab Session Manager: a WebExtension for saving and restoring window and tab state
WebExtensions for restoring and saving window / tab states
At a glance
- What is it?
- Tab Session Manager is a browser extension for Firefox, Chrome and Edge that saves the state of windows and tabs, with automatic saving. It is a solid fit for people who keep dozens of tabs open across sessions, and a poor fit for anyone who wants a mobile or Safari build.
- Who is it for?
- Adopt Tab Session Manager if you work in Firefox, Chrome or Edge and want window and tab state saved on a schedule rather than by hand. Skip it if you need Safari, a mobile browser, or a session store you can query over an API, because the README lists none of those.
- Can I use it commercially?
- Yes, with conditions. MPL-2.0 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 44 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem Tab Session Manager solves, and who it is for
Browsers restore the last session and little else. There is one slot, it is overwritten on the next launch, and a crash or a forced restart can take it with it. Anyone who works across several windows, keeps reference tabs open for days, or switches between projects by swapping window sets ends up doing that bookkeeping by hand.
Tab Session Manager is a WebExtension that saves and restores the state of browser windows and tabs, and the README adds that it "also supports automatic saving." That second clause is the part that separates it from a manual bookmarking habit: the extension can snapshot state on its own rather than waiting for you to click save. The audience is narrow and clear. People who treat tabs as working memory, who want more than one saved state, and who are willing to install a browser extension to get it. The README lists Firefox, Chrome and Edge builds only.
How the extension is put together: WebExtension APIs, React UI, webpack build
The repository is a JavaScript WebExtension built with webpack. The source lives in src/, the build configs are webpack.config.dev.js and webpack.config.dist.js, and a shared webpack.utils.js sits beside them. The dependency list shows the shape of the thing: webextension-polyfill for the browser extension APIs, React with react-router for the interface, lodash and moment for data handling, and mozlz4a, a Mozilla LZ4 reader, which points at handling Firefox session files.
Data flow is the usual extension pattern. The background side talks to the browser through the WebExtension APIs, the React popup and options pages render saved sessions, and the two build configs emit separate dev and distribution bundles. The dev build is written to dev/chrome and dev/firefox, which is why the loading instructions differ per browser. There is no server component and no account. Sessions stay in the browser profile, which is also why the README does not document a sync or export path beyond the Session Compressor tool on the project site.
Installing Tab Session Manager from the browser stores
For normal use you install from the store, not from source. The README links three: Firefox on addons.mozilla.org, Chrome on the Chrome Web Store, and a Microsoft Edge add-on listing. After installing, the extension adds a toolbar button that opens the session list shown in the README screenshot.
Building from source is a separate path and is documented as a developer workflow. The README states the requirement as Node 24.13.0 and npm 11.7.0, and package.json repeats those exact versions under engines. The first step clones the repository:
git clone https://github.com/sienori/Tab-Session-ManagerBefore installing dependencies you create src/credentials.js. The README gives the file contents verbatim:
export const clientId = "xxx"
export const clientSecret = "xxx"Then install and start the watch build:
npm install
npm run watch-devThe watch script runs webpack with webpack.config.dev.js and keeps rebuilding. To load the result in Chrome, open chrome://extensions, enable Developer Mode, click "Load unpacked extension..." and select the dev/chrome directory. In Firefox, open about:debugging, click "Load Temporary Add-on" and select dev/firefox. The README does not say what clientId and clientSecret are for, only that the file must exist, so treat that as an undocumented requirement of the build rather than a feature you configure.
Where Tab Session Manager gets thin: sync, mobile and documented limits
The README is a download page with a developer appendix. It does not document the automatic saving interval, how many automatic snapshots are kept, whether old ones are pruned, or how to restore a session after a crash. Those are the questions a user actually has on day two, and the repository's front page is silent on all of them.
Platform coverage is the second gap. The README lists Firefox, Chrome and Edge only. There is no Safari build and no mobile build, so the searches for an Android or Safari version have no matching artifact in this repository. If your work happens on an iPad or in Safari, this extension is simply not the tool.
There is also a real conflict to expect. Chrome and Firefox both keep their own session state and offer to restore after an abnormal exit. Two systems writing session state is a known source of confusion about which restore prompt to accept. The README does not address that interaction, so it is something to observe in your own profile rather than something the project promises to handle.
Tab Session Manager compared with OneTab
OneTab is the comparison users reach for, and the two extensions solve different halves of the problem. OneTab's model is collapse: it takes your open tabs, closes them, and turns them into a list, which frees memory and gives you one page of links. The unit of value is the list.
Tab Session Manager's model is state. The README describes saving and restoring the state of windows and tabs, and automatic saving on top. It does not require closing anything, and it can keep more than one saved state, so a window layout can be brought back rather than a set of links reopened. If your problem is memory pressure from open tabs, OneTab's approach fits better. If your problem is losing a working arrangement of windows, Tab Session Manager is closer to the point. Neither replaces the other, and the README does not claim it does.
Licence, build cost and what a fork inherits
The project is MPL-2.0. That is a file-level copyleft licence: modifications to covered files stay under MPL-2.0 when distributed, while the rest of a larger work can be licensed differently. For a browser extension this mostly matters if you fork and republish. Read the LICENSE file rather than relying on a summary, and take legal advice if you plan to ship a modified build commercially.
The upgrade cost is the build, not the extension. The README pins Node 24.13.0 and npm 11.7.0, and package.json pins them again, so a fork has to match those versions or expect the toolchain to complain. The dependencies are ordinary and mostly current, but React 16 and react-router 5 are older major lines, which means a fork that wants newer React is doing a migration, not a version bump. For someone who just installs from the store, none of this applies: the browser updates the extension and the build chain never enters the picture. The last push to the repository was on 2026-08-17, and the most recent release listed is 7.4.0 on 2026-07-17.
Editorial conclusion
Adopt Tab Session Manager if you work in Firefox, Chrome or Edge and want window and tab state saved on a schedule rather than by hand. Skip it if you need Safari, a mobile browser, or a session store you can query over an API, because the README lists none of those. Before relying on it, verify two things yourself: where your browser profile keeps the extension's stored sessions, and whether your browser's own restore prompt competes with the extension's automatic saving. Both are outside what the repository documents.
Frequently asked questions
What does Tab Session Manager do?
It is a WebExtension that saves and restores the state of browser windows and tabs, and the README states that it also supports automatic saving. It is distributed for Firefox, Chrome and Edge.
How do I install Tab Session Manager?
Install it from the browser store: the README links a Firefox listing on addons.mozilla.org, a Chrome Web Store listing, and a Microsoft Edge add-on listing. Building from source requires Node 24.13.0 and npm 11.7.0, a src/credentials.js file, then npm install and npm run watch-dev.
How do I restore a tab session in Chrome with Tab Session Manager?
The extension saves and restores window and tab state, and the README shows the popup where saved sessions are listed. The README does not document the exact restore steps or what happens after a crash, so the popup itself is the place to look.
How do I use Tab Session Manager in Firefox?
Install it from the addons.mozilla.org listing linked in the README, then use the toolbar popup to save and restore window and tab state. For a temporary development build, open about:debugging, click "Load Temporary Add-on" and select dev/firefox.
Is Tab Session Manager safe?
The README links a privacy policy on the project site, and the extension is a browser add-on distributed through the Firefox, Chrome and Edge stores. The repository does not document a server component or an account, so there is nothing in the README describing session data leaving the browser profile.
Is there a Tab Session Manager alternative for Firefox?
The README does not name alternatives. OneTab is a common comparison and takes a different approach: it collapses open tabs into a list rather than restoring window and tab state. Which one fits depends on whether your problem is memory pressure or losing a window arrangement.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/sienori-tab-session-manager)