tirth8205/code-review-graph · error · ValueError
GOOGLE_API_KEY environment variable is required for the Goog
Error message
GOOGLE_API_KEY environment variable is required for the Google embedding provider.
What it means
The google provider requires GOOGLE_API_KEY before it will construct GoogleEmbeddingProvider. The raise happens before any client init, so no API quota is touched.
Source
Thrown at code_review_graph/embeddings.py:1003
batch_size = int(batch_env) if batch_env else None
min_interval_env = os.environ.get("CRG_VOYAGE_MIN_INTERVAL_SEC")
min_interval_sec = float(min_interval_env) if min_interval_env else 0.0
if not _is_localhost_url(base_url):
_warn_cloud_egress("voyage")
return VoyageEmbeddingProvider(
api_key=api_key,
base_url=base_url,
model=resolved_model,
output_dimension=output_dimension,
output_dtype=output_dtype,
batch_size=batch_size,
min_interval_sec=min_interval_sec,
)
if name == "google":
api_key = os.environ.get("GOOGLE_API_KEY")
if not api_key:
raise ValueError(
"GOOGLE_API_KEY environment variable is required for "
"the Google embedding provider."
)
_warn_cloud_egress("google")
try:
return GoogleEmbeddingProvider(
api_key=api_key,
**({"model": model} if model else {}),
)
except ImportError:
return None
# Default: local
if not _check_available():
return None
try:
return LocalEmbeddingProvider(model_name=model)
except ImportError:View on GitHub (pinned to b58668751a)
Solutions
- export GOOGLE_API_KEY=<your key> from Google AI Studio
- Note GOOGLE_APPLICATION_CREDENTIALS is NOT sufficient — set GOOGLE_API_KEY explicitly
- Verify with printenv GOOGLE_API_KEY
Example fix
# before export GOOGLE_APPLICATION_CREDENTIALS=/path/sa.json # after export GOOGLE_API_KEY=AIza...
Defensive patterns
Strategy: validation
Validate before calling
if not os.environ.get("GOOGLE_API_KEY"):
raise RuntimeError("GOOGLE_API_KEY not set; cannot use google provider") Try / catch
try:
provider = get_provider("google")
except ValueError as e:
if "GOOGLE_API_KEY" in str(e):
provider = get_provider("local")
else:
raise Prevention
- Set GOOGLE_API_KEY explicitly — GOOGLE_APPLICATION_CREDENTIALS is not read here
- Preflight env checks per provider in deployment scripts
- Store keys in the secret manager, not .env committed to git
When it happens
Trigger: Passing provider='google' to get_provider() without GOOGLE_API_KEY in the environment.
Common situations: Confusing this var with GCLOUD_* or GOOGLE_APPLICATION_CREDENTIALS (neither is read here), missing secret in deployment, or unset var in cron/agent contexts.
Understand the failure class
Background: "environment variable is not set" and "Missing keys in environment" errors: what missing required env var messages mean and how to fix them — this error's family across 28 libraries.
Related errors
- Missing required environment variable(s) for the OpenAI embe
- MINIMAX_API_KEY environment variable is required for the Min
- VOYAGE_API_KEY environment variable is required for the Voya
- Unknown embedding provider '{name}'. Valid: local, openai, g
- Embedding refresh requires an explicit provider and model.
AI-assisted analysis of tirth8205/code-review-graph@b58668751a (2026-08-28).
Data as JSON: /api/errors/7a83c764f9d439a1.
Report an issue: GitHub.