{"record":{"id":"d3ca47f794a0dcc3","repo":"tirth8205/code-review-graph","slug":"minimax-api-key-environment-variable-is-required-f","errorCode":null,"errorMessage":"MINIMAX_API_KEY environment variable is required for the MiniMax embedding provider.","messagePattern":"MINIMAX_API_KEY environment variable is required for the MiniMax embedding provider\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"code_review_graph/embeddings.py","lineNumber":955,"sourceCode":"            )\n        dim_env = os.environ.get(\"CRG_OPENAI_DIMENSION\")\n        dimension = int(dim_env) if dim_env else None\n        batch_env = os.environ.get(\"CRG_OPENAI_BATCH_SIZE\")\n        batch_size = int(batch_env) if batch_env else None\n        if not _is_localhost_url(base_url):\n            _warn_cloud_egress(\"openai\")\n        return OpenAIEmbeddingProvider(\n            api_key=api_key,\n            base_url=base_url,\n            model=resolved_model,\n            dimension=dimension,\n            batch_size=batch_size,\n        )\n\n    if name == \"minimax\":\n        api_key = os.environ.get(\"MINIMAX_API_KEY\")\n        if not api_key:\n            raise ValueError(\n                \"MINIMAX_API_KEY environment variable is required for \"\n                \"the MiniMax embedding provider.\"\n            )\n        _warn_cloud_egress(\"minimax\")\n        return MiniMaxEmbeddingProvider(api_key=api_key)\n\n    if name == \"voyage\":\n        api_key = os.environ.get(\"VOYAGE_API_KEY\")\n        if not api_key:\n            raise ValueError(\n                \"VOYAGE_API_KEY environment variable is required for \"\n                \"the Voyage embedding provider.\"\n            )\n        base_url = (\n            os.environ.get(\"CRG_VOYAGE_BASE_URL\")\n            or VoyageEmbeddingProvider._DEFAULT_BASE_URL\n        )\n        resolved_model = (","sourceCodeStart":937,"sourceCodeEnd":973,"githubUrl":"https://github.com/tirth8205/code-review-graph/blob/b58668751ab0c7670c078cf7cbd4d1f5b8e54f81/code_review_graph/embeddings.py#L937-L973","documentation":"The minimax provider needs MINIMAX_API_KEY in the environment; unlike the OpenAI path there are no defaults or base-URL fallbacks, so absence is fatal.","triggerScenarios":"Passing provider='minimax' (any case) to get_provider() without MINIMAX_API_KEY set.","commonSituations":"Key stored in a shell rc not sourced by the agent/daemon, deploying to a container without secret injection, or forgetting that this provider reads MINIMAX_API_KEY not a CRG_-prefixed var.","solutions":["export MINIMAX_API_KEY=<your key> (or inject it via your secret manager)","Confirm with: printenv MINIMAX_API_KEY","Restart the process/shell after setting the variable"],"exampleFix":"# before\nprovider=minimax  # MINIMAX_API_KEY unset\n# after\nexport MINIMAX_API_KEY=eyJ...\nprovider=minimax","handlingStrategy":"validation","validationCode":"if not os.environ.get(\"MINIMAX_API_KEY\"):\n    raise RuntimeError(\"MINIMAX_API_KEY not set; cannot use minimax provider\")","typeGuard":null,"tryCatchPattern":"try:\n    provider = get_provider(\"minimax\")\nexcept ValueError as e:\n    if \"MINIMAX_API_KEY\" in str(e):\n        provider = get_provider(\"local\")\n    else:\n        raise","preventionTips":["Inject MINIMAX_API_KEY via your secret manager in every environment","Preflight-check required keys per provider before selecting it","Remember the var is unprefixed, not CRG_MINIMAX_API_KEY"],"tags":["minimax","embeddings","env-var","config"],"backgroundTag":"missing-env-var","analyzedSha":"b58668751ab0c7670c078cf7cbd4d1f5b8e54f81","analyzedAt":"2026-08-28T13:19:08.966Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}