scalpel@labs: ~/glossary/import-export-never-suspend-list.mdx5 sections

Import and Export Your Never-Suspend List

Export writes your never-suspend list as plain text, one site per line, that you can copy and save. Import reads that text back, adds each valid site, skips duplicates, and lists any lines it could not read as a pattern.

extension: Scalpel Tab Suspenderupdated: 2026-08-14read_time: 2 min
less import-export-never-suspend-list.mdx

Why it matters

You spend time building your never-suspend list, adding sites you want to stay awake. Export lets you back it up as a plain-text file so you don't lose it if something goes wrong. Import makes it easy to move your list to a new machine or share a baseline with teammates.

The extension doesn't need clipboard or file download permissions to do this; the text is readable on the screen, and you copy it yourself. That keeps Scalpel's permissions tight.

How it works

Export writes your entire list as plain text, with one normalized pattern per line, in alphabetical order. There's a comment header at the top, but the actual list is straightforward: one hostname or hostname-plus-path per line.

Import reads that text back, line by line. For each line, it tries to parse it as a pattern (see the patterns page for the grammar). If it's valid, the site is added to your list. If it's already in the list, it's skipped. If it can't be parsed, the line is listed in a report so you know what went wrong.

The import doesn't delete anything in your current list; it only adds new sites. So you can safely import multiple files without losing what you've already protected.

What does not matter

There's no file download permission, so export doesn't save a file automatically. You have to select and copy the text yourself. It's a privacy choice: the extension never touches your file system or clipboard, so there's no risk of accidentally leaking your list.

Import doesn't care about line breaks or comments; it skips blank lines and lines starting with #. So you can paste the exported text into an editor, add your own notes, and import it back without trouble.

The format is plain text, not JSON or CSV. It's designed to be readable and hand-editable, not to be machine-parsed by other tools.

Code example

Here's what an exported list looks like:

# Scalpel Tab Suspender: Never-Suspend List
# Exported on 2026-07-19
# Format: one hostname or hostname/path per line

example.com
mail.google.com
github.com/pulls
slack.com

And here's how the import parser processes it:

const lines = textContent.split('\n');
const added = [];
const skipped = [];
const invalid = [];

for (const line of lines) {
  const trimmed = line.trim();
  
  // Skip blank lines and comments
  if (!trimmed || trimmed.startsWith('#')) continue;
  
  // Validate the pattern
  const isValid = isValidNeverSuspendPattern(trimmed);
  if (!isValid) {
    invalid.push(trimmed);
    continue;
  }
  
  // Check for duplicates
  if (currentList.includes(trimmed)) {
    skipped.push(trimmed);
    continue;
  }
  
  // Add it
  added.push(trimmed);
}

How Scalpel shows it

Open Scalpel's settings and go to the "Never-Suspend List" tab. You'll see a button that says "Export." Click it and your list appears as selectable text in a box. Copy that text and paste it into a text editor or share it. There's no automatic file download.

To import, click the "Import" button and paste the text into the box. Scalpel will parse it and show you how many sites were added, how many were duplicates, and which lines it couldn't read. Then you can either confirm and add them all or fix the invalid lines and try again.

This approach keeps the extension lightweight and transparent; nothing happens behind the scenes.

Sources