scalpel@labs: ~/glossary/never-suspend-a-site.mdx5 sections

Never Suspend a Site: Protect One Domain

Marking a site as never-suspend adds its hostname to your protected list, so Scalpel leaves every tab on that site open. A bare hostname protects the site and all of its subdomains, from any window.

extension: Scalpel Tab Suspenderupdated: 2026-08-14read_time: 2 min
less never-suspend-a-site.mdx

Why it matters

Some sites need to stay awake. A web mail tab you check constantly, a music player, a live dashboard, a support chat. You could pause the automatic sweep, but that's temporary. Adding a site to your never-suspend list is permanent: Scalpel will skip every tab on that site, every sweep, every day.

It's a one-click action from the popup, so there's no friction.

How it works

When you click the "Never suspend this site" button in Scalpel's popup, the extension reads the current tab's hostname and adds it to your list. A second click removes it.

The list is synced to your Chrome account, so if you've signed into Chrome on multiple machines, your protected sites follow you.

During each suspension sweep, Scalpel checks every tab's URL against the never-suspend list before applying the inactivity timer. If the hostname (or hostname-plus-path) matches an entry, the tab is skipped.

A bare hostname like mail.google.com matches that host and all of its subdomains: inbox.mail.google.com, calendar.mail.google.com, etc. This is the common case and usually what you want.

What does not matter

This is not the same as pinning the tab. Pinned tabs are shrunk to their favicon and anchored to the left of the tab strip; a never-suspend site is just a regular tab that won't be discarded.

You can't protect a site by name or title, only by its hostname. If you want to protect only one section of a site (e.g., github.com/pulls but not the rest of GitHub), you can do that by adding a path. See the patterns page for the exact syntax.

Code example

Here's how Scalpel adds or removes a site when you click the button:

// From the popup, when the user clicks "Never suspend this site"
const tab = await chrome.tabs.query({ active: true, currentWindow: true })[0];
const url = new URL(tab.url);
const hostname = url.hostname;

// Get the current list
const storage = await chrome.storage.sync.get('neverSuspendList');
let list = storage.neverSuspendList || [];

// Toggle the site (add or remove)
const index = list.indexOf(hostname);
if (index > -1) {
  list.splice(index, 1); // Remove
} else {
  list.push(hostname); // Add
}

// Save it back
await chrome.storage.sync.set({ neverSuspendList: list });

How Scalpel shows it

Open Scalpel's popup and look for the button at the bottom. It says either "Never suspend this site" (if the site is not protected) or "Stop protecting this site" (if it is). The button text and colour change depending on whether the current site is on your list.

You can also open the settings page and go to the "Never-Suspend List" tab to see your entire list of protected sites, edit entries by hand, or import and export the list.

The popup gives you the quick one-click shortcut; the settings page gives you the full control.

Sources