paperclipai/paperclip · error
E2B sandbox environments require an API key in config or…
Error message
E2B sandbox environments require an API key in config or E2B_API_KEY.
What it means
Error "E2B sandbox environments require an API key in config or E2B_API_KEY." thrown in paperclipai/paperclip.
Solutions
- Set E2B_API_KEY or configure apiKey in the environment config.
When it happens
Trigger: Thrown at packages/plugins/sandbox-providers/e2b/src/plugin.ts:52 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/222526aa49e42d58.
Report an issue: GitHub.
Appendix: source
Thrown at packages/plugins/sandbox-providers/e2b/src/plugin.ts:52
const template = typeof raw.template === "string" && raw.template.trim().length > 0
? raw.template.trim()
: "base";
const timeoutMs = Number(raw.timeoutMs ?? 3_600_000);
return {
template,
apiKey: typeof raw.apiKey === "string" && raw.apiKey.trim().length > 0 ? raw.apiKey.trim() : null,
timeoutMs: Number.isFinite(timeoutMs) ? Math.trunc(timeoutMs) : 3_600_000,
reuseLease: raw.reuseLease === true,
};
}
function resolveApiKey(config: E2bDriverConfig): string {
if (config.apiKey) {
return config.apiKey;
}
const envApiKey = process.env.E2B_API_KEY?.trim() ?? "";
if (!envApiKey) {
throw new Error("E2B sandbox environments require an API key in config or E2B_API_KEY.");
}
return envApiKey;
}
async function createSandbox(config: E2bDriverConfig): Promise<Sandbox> {
const options = {
apiKey: resolveApiKey(config),
timeoutMs: config.timeoutMs,
metadata: {
paperclipProvider: "e2b",
},
};
return await Sandbox.create(config.template, options);
}
function formatErrorMessage(error: unknown): string {
return error instanceof Error ? error.message : String(error);
}View on GitHub (pinned to 120ae5428f)