Kong/insomnia · error · Error
Plugin "${pluginName}": sandboxed ${surface} are not support
Error message
Plugin "${pluginName}": sandboxed ${surface} are not supported yet. Disable "Run template tags in sandbox" to use them. What it means
Error "Plugin "${pluginName}": sandboxed ${surface} are not supported yet. Disable "Run template tags in sandbox" to use them." thrown in Kong/insomnia.
Source
Thrown at packages/insomnia/src/plugins/index.ts:82
// discovery has to reach the sandbox from either. In main we call the sandbox directly — the
// `insomnia-templating-worker-database://` protocol is a renderer<->main channel and main's own
// `fetch` can't resolve it. In a renderer (the plugin window) we go over that protocol.
async function discoverUserPluginExports(
directory: string,
name: string,
permissions: Plugin['permissions'],
): Promise<PluginExportManifest> {
const body = { directory, name, permissions };
if (__IS_RENDERER__) {
return (await fetchFromTemplateWorkerDatabase('plugin.discoverUserPluginExports', body)) as PluginExportManifest;
}
const { discoverUserPluginExportsForLoader } = await import('~/main/templating-worker-database');
return discoverUserPluginExportsForLoader(body);
}
function buildUserPluginModuleFromManifest(pluginName: string, manifest: PluginExportManifest): Plugin['module'] {
const notRouted = (surface: string) => () => {
throw new Error(
`Plugin "${pluginName}": sandboxed ${surface} are not supported yet. Disable "Run template tags in sandbox" to use them.`,
);
};
const toAction = (surface: string) => (a: ActionDescriptor) => ({
label: a.label ?? '',
icon: a.icon,
action: notRouted(surface),
});
// The count comes from untrusted sandbox output; clamp to a finite, non-negative, bounded integer
// before allocating so a hostile manifest can't drive a huge Array.from allocation (the sandbox
// clamps too — this is defense in depth).
const hookStubs = (count: number, surface: string) =>
Array.from({ length: Number.isFinite(count) && count > 0 ? Math.min(Math.floor(count), 1000) : 0 }, () =>
notRouted(surface),
);
return {
templateTags: manifest.templateTags.map(t => ({ ...t, run: notRouted('template-tag run()') }) as PluginTemplateTag),
requestHooks: hookStubs(manifest.requestHooks, 'request hooks'),View on GitHub (pinned to d9bb2b0142)
When it happens
Trigger: Thrown at packages/insomnia/src/plugins/index.ts:82 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Kong/insomnia@d9bb2b0142 (2026-08-26).
Data as JSON: /api/errors/f3b7af8e7b37409b.
Report an issue: GitHub.