gildas-lormeau/SingleFile · info · Error
SingleFile is disabled for this URL
Error message
SingleFile is disabled for this URL
What it means
SingleFile throws this when the tab's URL resolves to a profile named DISABLED_PROFILE_NAME. It is an intentional guard in captureTab: per-URL options are loaded and if the user (or a rule) marked the URL as disabled, no capture is attempted. It signals the extension is configured to skip this URL, not a runtime failure.
Source
Thrown at src/core/bg/business.js:181
options: tabOptions,
method: "content.save"
});
} else {
ui.onForbiddenDomain(tab);
}
}
} else {
ui.onForbiddenDomain(tab);
}
}));
runTasks();
}
async function captureTab(tab, options = {}) {
const tabId = tab.id;
const tabOptions = await config.getOptions(tab.url);
if (tabOptions.profileName == config.DISABLED_PROFILE_NAME) {
throw new Error("SingleFile is disabled for this URL");
}
Object.assign(tabOptions, options, {
silent: true,
logsEnabled: false,
progressBarEnabled: false,
confirmFilename: false,
confirmInfobarContent: false,
openEditor: false,
autoOpenEditor: false,
openSavedPage: false,
backgroundSave: false,
saveToClipboard: false,
saveToGDrive: false,
saveToDropbox: false,
saveWithWebDAV: false,
saveWithMCP: false,
saveToGitHub: false,
saveWithCompanion: false,View on GitHub (pinned to 517fb7c5cf)
Solutions
- Check the target tab's URL against your SingleFile rules and remove the disable rule if the capture is intended
- Pick a different profile for that URL pattern in the extension options
- In automation code, catch this error and skip the URL rather than retrying
- Verify tab.url is what you expect (redirects may land on a disabled URL)
Example fix
// before
await singlefile.captureTab(tab);
// after
try {
await singlefile.captureTab(tab);
} catch (e) {
if (e.message === 'SingleFile is disabled for this URL') return; // skip disabled URL
throw e;
} Defensive patterns
Strategy: try-catch
Validate before calling
const opts = await config.getOptions(tab.url); if (opts.profileName === config.DISABLED_PROFILE_NAME) throw new SkipCapture();
Type guard
const isDisabled = (opts) => opts && opts.profileName === config.DISABLED_PROFILE_NAME;
Try / catch
try { await captureTab(tab, options); } catch (e) { if (e.message === 'SingleFile is disabled for this URL') return null; throw e; } Prevention
- Review URL rules in options before automated captures
- Check getOptions(tab.url).profileName before capturing
- Treat disabled URLs as expected skips, not failures
When it happens
Trigger: Calling captureTab (directly or via the capture action/UI) on a tab whose URL maps, through config.getOptions and URL rules, to the disabled profile.
Common situations: Developers invoking the SingleFile API programmatically on pages the user disabled (e.g. browser internal pages, localhost, work URLs covered by a disable rule); capturing after rules changed so a previously-capturable URL is now disabled.
Related errors
- Duplicate profile name
- Profile not found
- Default settings cannot be renamed
- Default settings cannot be deleted
- auth_not_supported
AI-assisted analysis of gildas-lormeau/SingleFile@517fb7c5cf (2026-09-01).
Data as JSON: /api/errors/4e3191e4ed931920.
Report an issue: GitHub.