{"record":{"id":"755eeb598f2e6e07","repo":"BerriAI/litellm","slug":"circle-oidc-token-v2-not-found-in-environment","errorCode":null,"errorMessage":"CIRCLE_OIDC_TOKEN_V2 not found in environment","messagePattern":"CIRCLE_OIDC_TOKEN_V2 not found in environment","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/secret_managers/main.py","lineNumber":242,"sourceCode":"                    verbose_logger.warning(\n                        \"Google OIDC token for %s is already expired or expires within %ss; not caching it\",\n                        secret_name,\n                        _OIDC_TOKEN_EXPIRY_MARGIN_SECONDS,\n                    )\n                return oidc_token\n            else:\n                raise ValueError(\"Google OIDC provider failed\")\n        elif oidc_provider == \"circleci\":\n            # https://circleci.com/docs/openid-connect-tokens/\n            env_secret = os.getenv(\"CIRCLE_OIDC_TOKEN\")\n            if env_secret is None:\n                raise ValueError(\"CIRCLE_OIDC_TOKEN not found in environment\")\n            return env_secret\n        elif oidc_provider == \"circleci_v2\":\n            # https://circleci.com/docs/openid-connect-tokens/\n            env_secret = os.getenv(\"CIRCLE_OIDC_TOKEN_V2\")\n            if env_secret is None:\n                raise ValueError(\"CIRCLE_OIDC_TOKEN_V2 not found in environment\")\n            return env_secret\n        elif oidc_provider == \"github\":\n            # https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers#using-custom-actions\n            actions_id_token_request_url: Final = os.getenv(\"ACTIONS_ID_TOKEN_REQUEST_URL\")\n            actions_id_token_request_token: Final = os.getenv(\"ACTIONS_ID_TOKEN_REQUEST_TOKEN\")\n            if actions_id_token_request_url is None or actions_id_token_request_token is None:\n                raise ValueError(\n                    \"ACTIONS_ID_TOKEN_REQUEST_URL or ACTIONS_ID_TOKEN_REQUEST_TOKEN not found in environment\"\n                )\n\n            oidc_token = oidc_cache.get_cache(key=secret_name)\n            if oidc_token is not None:\n                return oidc_token\n\n            oidc_client = _get_oidc_http_handler()\n            response = oidc_client.get(\n                actions_id_token_request_url,\n                params={\"audience\": oidc_aud},","sourceCodeStart":224,"sourceCodeEnd":260,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/secret_managers/main.py#L224-L260","documentation":"OIDC resolution failure for the 'circleci' provider (v2 path): the CIRCLE_OIDC_TOKEN_V2 environment variable is absent, so the newer CircleCI OIDC token format cannot be read and the secret lookup fails.","triggerScenarios":"Thrown at litellm/secret_managers/main.py:242 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run inside CircleCI with OIDC v2 enabled, or export CIRCLE_OIDC_TOKEN_V2 before starting."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}