{"record":{"id":"7143a3dbe6b6ea3a","repo":"chroma-core/chroma","slug":"api-key-not-found-please-set-api-key-env-var-e","errorCode":null,"errorMessage":"API key not found. Please set ${api_key_env_var} environment variable or provide api_key in config.","messagePattern":"API key not found\\. Please set (.+?) environment variable or provide api_key in config\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"clients/new-js/packages/ai-embeddings/morph/src/index.ts","lineNumber":47,"sourceCode":"  private readonly apiKeyEnvVar: string;\n  private readonly modelName: string;\n  private readonly encodingFormat: 'float' | 'base64';\n  private readonly apiBase: string;\n  private client: OpenAI;\n\n  constructor(config: MorphEmbeddingFunctionConfig = {}) {\n    const {\n      api_key,\n      model_name = 'morph-embedding-v2',\n      api_base = 'https://api.morphllm.com/v1',\n      encoding_format = 'float',\n      api_key_env_var = 'MORPH_API_KEY'\n    } = config;\n\n    // Get API key from config or environment\n    const apiKey = api_key || process.env[api_key_env_var];\n    if (!apiKey) {\n      throw new Error(`API key not found. Please set ${api_key_env_var} environment variable or provide api_key in config.`);\n    }\n\n    this.modelName = model_name;\n    this.encodingFormat = encoding_format;\n    this.apiKeyEnvVar = api_key_env_var;\n    this.apiBase = api_base;\n\n    this.client = new OpenAI({\n      apiKey,\n      baseURL: api_base,\n    });\n  }\n\n  public async generate(texts: string[]): Promise<number[][]> {\n    const response = await this.client.embeddings.create({\n      model: this.modelName,\n      input: texts,\n      encoding_format: this.encodingFormat,","sourceCodeStart":29,"sourceCodeEnd":65,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/clients/new-js/packages/ai-embeddings/morph/src/index.ts#L29-L65","documentation":"Error \"API key not found. Please set ${api_key_env_var} environment variable or provide api_key in config.\" thrown in chroma-core/chroma.","triggerScenarios":"Thrown at clients/new-js/packages/ai-embeddings/morph/src/index.ts:47 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}