v1.0.1 · Chrome extension · Manifest V3
Your tabs.
Your machine.
Nothing leaves.
A local-first tab manager for Chrome. Save windows as collections, organize collections into groups, and suspend what you're not reading. Stored on this device. No account, no sync.
- Storage
chrome.storage.local- Network calls
- 0
- Account required
- None
Save a window. Restore it as a tab group.
Built for people with too many tabs.
-
Local-first
All collections, groups, and metadata live in
chrome.storage.local. No accounts. No telemetry. No cloud round-trip. -
Groups & collections
Save the current window as a collection. Bundle collections into groups for the way you actually work. Restore any collection as a native Chrome tab group.
-
Suspend on demand
Discard tabs you're not reading with
tabs.discard. The tab stays in place; the memory comes back. Restore by clicking. -
Native color round-trip
Collection colors mirror Chrome's nine tab-group colors. Saved sessions reappear in the browser exactly as you left them.
Privacy, data, and permissions.
Where is my data stored?
On this device, in chrome.storage.local. Nothing is
uploaded, synced, or backed up by TabLocal. If you uninstall the
extension, the data goes with it — export from
Settings → Export first if you want to keep it.
Does it sync between devices?
No. Sync would require either an account or
chrome.storage.sync, which has a 100KB quota and
ships data through Google. TabLocal does neither. To move data
between machines, use Export on one and
Import on the other.
What permissions does it need?
-
tabs— read and arrange tabs in the current browser. -
tabGroups— restore collections as native Chrome groups. -
storage— persist saved groups, collections, and settings locally. favicon— render favicons in saved lists.-
unlimitedStorage— prevent Chrome from evicting storage when the quota is reached.
No host_permissions. No content scripts. No
background fetches.
Is it Manifest V3?
Yes. Built on Manifest V3 with a service worker, no remote code, no eval.
How does suspend work?
TabLocal calls tabs.discard on the selected tabs.
The tab stays in its window and tab strip; Chrome unloads the
page. Activating the tab reloads it from cache. No state is sent
anywhere.