A small Chrome extension (Manifest V3) that closes stale tabs by URL pattern — built for the Okta sign-in pages, Zoom auto-open launchers, and other ephemeral tabs that pile up over a workday.
- Clone this repo.
- Open
chrome://extensions. - Enable Developer mode (top right).
- Click Load unpacked and select this directory.
- Pin the Tab Cleanup icon to the toolbar.
- Click the toolbar icon to scan all tabs across all windows. The popup shows a per-pattern count and a single button to close everything matched.
- For 51+ matches, the close button requires a second click within 3 seconds — guards against accidental mass closes.
- Right-click the icon → Options (or click Edit patterns in the popup) to add, edit, disable, or delete patterns. Changes auto-save.
Each pattern is one of:
substring— true whentab.url.includes(pattern). Same semantics as the snippet this extension is built around.regex— true whennew RegExp(pattern).test(tab.url). Invalid regexes are flagged in the options page and skipped at match time.
| Name | Type | Pattern |
|---|---|---|
| Okta authorize | substring | .okta.com/oauth2/v1/authorize |
| Zoom auto-open | substring | zoom.us/launch |
| Zoom join page | substring | zoom.us/j/ |
| Zoom web client | substring | zoom.us/wc/join |
Patterns are stored in chrome.storage.sync, so they sync across signed-in Chrome profiles.
tabs— to read tab URLs and close them.storage— to persist your pattern list.
No host permissions; no <all_urls>; no content scripts.
git pullThen go to chrome://extensions and click the reload icon on the Tab Cleanup card.
manifest.json
popup/ # toolbar popup UI
options/ # pattern editor
lib/ # storage + matcher modules (ESM)
icons/ # 16 / 48 / 128 placeholder icons