{"record":{"id":"ff039c7a675ce518","repo":"Mintplex-Labs/anything-llm","slug":"no-fireworksai-api-key-was-set","errorCode":null,"errorMessage":"No FireworksAI API key was set.","messagePattern":"No FireworksAI API key was set\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"server/utils/AiProviders/fireworksAi/index.js","lineNumber":23,"sourceCode":"const {\n  LLMPerformanceMonitor,\n} = require(\"../../helpers/chat/LLMPerformanceMonitor\");\nconst {\n  handleDefaultStreamResponseV2,\n} = require(\"../../helpers/chat/responses\");\n\nconst cacheFolder = path.resolve(\n  process.env.STORAGE_DIR\n    ? path.resolve(process.env.STORAGE_DIR, \"models\", \"fireworks\")\n    : path.resolve(__dirname, `../../../storage/models/fireworks`)\n);\n\nclass FireworksAiLLM {\n  constructor(embedder = null, modelPreference = null) {\n    this.className = \"FireworksAiLLM\";\n\n    if (!process.env.FIREWORKS_AI_LLM_API_KEY)\n      throw new Error(\"No FireworksAI API key was set.\");\n    const { OpenAI: OpenAIApi } = require(\"openai\");\n    this.openai = new OpenAIApi({\n      baseURL: \"https://api.fireworks.ai/inference/v1\",\n      apiKey: process.env.FIREWORKS_AI_LLM_API_KEY ?? null,\n    });\n    this.model = modelPreference || process.env.FIREWORKS_AI_LLM_MODEL_PREF;\n    this.limits = {\n      history: this.promptWindowLimit() * 0.15,\n      system: this.promptWindowLimit() * 0.15,\n      user: this.promptWindowLimit() * 0.7,\n    };\n\n    this.embedder = !embedder ? new NativeEmbedder() : embedder;\n    this.defaultTemp = 0.7;\n\n    if (!fs.existsSync(cacheFolder))\n      fs.mkdirSync(cacheFolder, { recursive: true });\n    this.cacheModelPath = path.resolve(cacheFolder, \"models.json\");","sourceCodeStart":5,"sourceCodeEnd":41,"githubUrl":"https://github.com/Mintplex-Labs/anything-llm/blob/3aec848f2885144aa8f1e53b9731a04310d5d558/server/utils/AiProviders/fireworksAi/index.js#L5-L41","documentation":"The FireworksAiLLM constructor throws immediately when the FIREWORKS_AI_LLM_API_KEY environment variable is not set. AnythingLLM instantiates the provider class the moment a chat or embedding request selects FireworksAI, so this error surfaces as a failed request or provider-selection failure, not a startup crash. The key is required because every Fireworks call goes through the OpenAI-compatible client pointed at https://api.fireworks.ai/inference/v1.","triggerScenarios":"Selecting FireworksAI as the LLM provider in the app while FIREWORKS_AI_LLM_API_KEY is absent from the process environment (not in .env, or the server was started before the var was added, or the deployment environment dropped it). The constructor runs per-request, so even a valid workspace with an otherwise correct config fails until the key exists.","commonSituations":"Copied .env from another provider's setup and forgot the Fireworks key; running under Docker/systemd where the env file isn't loaded into the process; CI or a fresh clone without the key; typo in the variable name (e.g. FIREWORKS_API_KEY instead of FIREWORKS_AI_LLM_API_KEY).","solutions":["Add FIREWORKS_AI_LLM_API_KEY=<your key> to the server .env (get it from firework.ai -> Account -> API Keys) and restart the server","Confirm the variable name exactly matches FIREWORKS_AI_LLM_API_KEY — not FIREWORKS_API_KEY","If running in Docker/compose, make sure the env var is passed into the container (env_file or environment entry) and recreate the container","Verify with a quick check before selecting the provider: node -e \"console.log(!!process.env.FIREWORKS_AI_LLM_API_KEY)\""],"exampleFix":"# before (.env)\n# no Fireworks key\n\n# after (.env)\nFIREWORKS_AI_LLM_API_KEY=fw_XXXXXXXXXXXXXXXX","handlingStrategy":"validation","validationCode":"const hasKey = !!process.env.FIREWORKS_AI_LLM_API_KEY;\nif (!hasKey) {\n  // show provider setup screen instead of attempting chat\n  return setupError(\"FireworksAI requires FIREWORKS_AI_LLM_API_KEY\");\n}\nconst llm = new FireworksAiLLM(embedder, modelPref);","typeGuard":null,"tryCatchPattern":"try {\n  const llm = new FireworksAiLLM(embedder, modelPref);\n} catch (err) {\n  if (err.message === \"No FireworksAI API key was set.\") {\n    return respond(\"Add FIREWORKS_AI_LLM_API_KEY in settings before using FireworksAI.\");\n  }\n  throw err;\n}","preventionTips":["Validate required env vars at app boot and list missing ones in one report","Use a startup checklist that asserts provider env vars before enabling the provider in the UI","Keep a template .env.example documenting FIREWORKS_AI_LLM_API_KEY"],"tags":["fireworks-ai","missing-env-var","api-key","constructor"],"backgroundTag":"missing-env-var","analyzedSha":"3aec848f2885144aa8f1e53b9731a04310d5d558","analyzedAt":"2026-08-18T10:02:21.017Z","contentChangedAt":"2026-08-18T10:02:21.017Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}