{"record":{"id":"222526aa49e42d58","repo":"paperclipai/paperclip","slug":"e2b-sandbox-environments-require-an-api-key-in-con","errorCode":null,"errorMessage":"E2B sandbox environments require an API key in config or E2B_API_KEY.","messagePattern":"E2B sandbox environments require an API key in config or E2B_API_KEY\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/e2b/src/plugin.ts","lineNumber":52,"sourceCode":"  const template = typeof raw.template === \"string\" && raw.template.trim().length > 0\n    ? raw.template.trim()\n    : \"base\";\n  const timeoutMs = Number(raw.timeoutMs ?? 3_600_000);\n  return {\n    template,\n    apiKey: typeof raw.apiKey === \"string\" && raw.apiKey.trim().length > 0 ? raw.apiKey.trim() : null,\n    timeoutMs: Number.isFinite(timeoutMs) ? Math.trunc(timeoutMs) : 3_600_000,\n    reuseLease: raw.reuseLease === true,\n  };\n}\n\nfunction resolveApiKey(config: E2bDriverConfig): string {\n  if (config.apiKey) {\n    return config.apiKey;\n  }\n  const envApiKey = process.env.E2B_API_KEY?.trim() ?? \"\";\n  if (!envApiKey) {\n    throw new Error(\"E2B sandbox environments require an API key in config or E2B_API_KEY.\");\n  }\n  return envApiKey;\n}\n\nasync function createSandbox(config: E2bDriverConfig): Promise<Sandbox> {\n  const options = {\n    apiKey: resolveApiKey(config),\n    timeoutMs: config.timeoutMs,\n    metadata: {\n      paperclipProvider: \"e2b\",\n    },\n  };\n  return await Sandbox.create(config.template, options);\n}\n\nfunction formatErrorMessage(error: unknown): string {\n  return error instanceof Error ? error.message : String(error);\n}","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/plugins/sandbox-providers/e2b/src/plugin.ts#L34-L70","documentation":"Error \"E2B sandbox environments require an API key in config or E2B_API_KEY.\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/e2b/src/plugin.ts:52 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set E2B_API_KEY or configure apiKey in the environment config."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}