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.
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.