{"record":{"id":"364f7b4fe98e9855","repo":"Mintplex-Labs/anything-llm","slug":"no-togetherai-api-key-was-set","errorCode":null,"errorMessage":"No TogetherAI API key was set.","messagePattern":"No TogetherAI API key was set\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"server/utils/AiProviders/togetherAi/index.js","lineNumber":93,"sourceCode":"\n    return validModels;\n  } catch (error) {\n    console.error(\"Error fetching Together AI models:\", error);\n    // If cache exists but is stale, still use it as fallback\n    if (fs.existsSync(cacheModelPath)) {\n      return safeJsonParse(\n        fs.readFileSync(cacheModelPath, { encoding: \"utf-8\" }),\n        []\n      );\n    }\n    return [];\n  }\n}\n\nclass TogetherAiLLM {\n  constructor(embedder = null, modelPreference = null) {\n    if (!process.env.TOGETHER_AI_API_KEY)\n      throw new Error(\"No TogetherAI API key was set.\");\n    const { OpenAI: OpenAIApi } = require(\"openai\");\n    this.className = \"TogetherAiLLM\";\n    this.openai = new OpenAIApi({\n      baseURL: \"https://api.together.xyz/v1\",\n      apiKey: process.env.TOGETHER_AI_API_KEY ?? null,\n    });\n    this.model = modelPreference || process.env.TOGETHER_AI_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    this.log(\n      `Initialized with model: ${this.model} (context window: ${this.promptWindowLimit()})`\n    );","sourceCodeStart":75,"sourceCodeEnd":111,"githubUrl":"https://github.com/Mintplex-Labs/anything-llm/blob/f92433b4ea0598492a1e6645ea22addbb4dd1287/server/utils/AiProviders/togetherAi/index.js#L75-L111","documentation":"Constructor guard in TogetherAiLLM: the TOGETHER_AI_API_KEY environment variable is unset, so the Together AI client cannot authenticate and provider instantiation aborts before model listing or chat.","triggerScenarios":"Thrown at provider construction when no TogetherAI API key is configured.","commonSituations":"TogetherAI selected as LLM provider without an API key.","solutions":["Set the TogetherAI API key in provider settings or env."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f92433b4ea0598492a1e6645ea22addbb4dd1287","analyzedAt":"2026-08-18T10:02:21.017Z","contentChangedAt":"2026-08-18T10:02:21.017Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}