{"record":{"id":"d2cf2f3228b2488d","repo":"Mintplex-Labs/anything-llm","slug":"sambanova-api-key-must-be-provided-to-use-agents","errorCode":null,"errorMessage":"SambaNova API key must be provided to use agents.","messagePattern":"SambaNova API key must be provided to use agents\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"server/utils/agents/index.js","lineNumber":277,"sourceCode":"      case \"cohere\":\n        if (!process.env.COHERE_API_KEY)\n          throw new Error(\"Cohere API key must be provided to use agents.\");\n        break;\n      case \"docker-model-runner\":\n        if (!process.env.DOCKER_MODEL_RUNNER_BASE_PATH)\n          throw new Error(\n            \"Docker Model Runner base path must be provided to use agents.\"\n          );\n        break;\n      case \"privatemode\":\n        if (!process.env.PRIVATEMODE_LLM_BASE_PATH)\n          throw new Error(\n            \"Privatemode base path must be provided to use agents.\"\n          );\n        break;\n      case \"sambanova\":\n        if (!process.env.SAMBANOVA_LLM_API_KEY)\n          throw new Error(\"SambaNova API key must be provided to use agents.\");\n        break;\n      case \"lemonade\":\n        if (!process.env.LEMONADE_LLM_BASE_PATH)\n          throw new Error(\"Lemonade base path must be provided to use agents.\");\n        break;\n      case \"omlx\":\n        if (!process.env.OMLX_LLM_BASE_PATH)\n          throw new Error(\"OMLX base path must be provided to use agents.\");\n        break;\n      case \"minimax\":\n        if (!process.env.MINIMAX_API_KEY)\n          throw new Error(\"Minimax API key must be provided to use agents.\");\n        break;\n      case \"cerebras\":\n        if (!process.env.CEREBRAS_API_KEY)\n          throw new Error(\"Cerebras API key must be provided to use agents.\");\n        break;\n      default:","sourceCodeStart":259,"sourceCodeEnd":295,"githubUrl":"https://github.com/Mintplex-Labs/anything-llm/blob/526360e320da9d1b36074be5ed64fe76e5bbfbbd/server/utils/agents/index.js#L259-L295","documentation":"Thrown by checkSetup() (server/utils/agents/index.js:128) when the resolved agent provider is 'sambanova' but process.env.SAMBANOVA_LLM_API_KEY is unset/empty. It is a precondition gate in agent.init() ensuring the SambaNova client is never built without an API key.","triggerScenarios":"A chat turn calls agent.init(); this.provider resolves to 'sambanova'; case 'sambanova' runs and process.env.SAMBANOVA_LLM_API_KEY is falsy.","commonSituations":"SambaNova selected as agent provider but the key was not saved; key expired/rotated and not updated in .env; server not restarted after .env change.","solutions":["Set SAMBANOVA_LLM_API_KEY in .env to a valid SambaNova key and restart the server.","Verify the process loaded the key via a status probe, not by printing it.","Switch provider if SambaNova is not intended."],"exampleFix":"// before (.env)\nSAMBANOVA_LLM_API_KEY=\n// after (.env)\nSAMBANOVA_LLM_API_KEY=<your-sambanova-key>","handlingStrategy":"validation","validationCode":"function assertSambanovaReady(workspaceAgentProvider) {\n  const using = workspaceAgentProvider === 'sambanova' || process.env.LLM_PROVIDER === 'sambanova';\n  if (using && !process.env.SAMBANOVA_LLM_API_KEY)\n    throw new Error('SAMBANOVA_LLM_API_KEY missing - set it before starting an agent.');\n}","typeGuard":null,"tryCatchPattern":"try { await agent.init(); } catch (e) { if (/SambaNova API key must be provided/.test(e.message)) return showProviderConfig('sambanova'); throw e; }","preventionTips":["Treat API keys as required boot dependencies for their provider.","Restart after .env edits.","Probe key presence (not value) at startup."],"tags":["config","env","agent-provider","sambanova","api-key","agents"],"backgroundTag":null,"analyzedSha":"526360e320da9d1b36074be5ed64fe76e5bbfbbd","analyzedAt":"2026-08-13T01:45:47.170Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}