Since ~March 28, 2026, user-defined environment variables are intermittently absent from process.env at runtime in a standard request/response function using the Functions v2 export default style. System variables and Netlify’s built-in URL var remain present. Netlify.env.get() also returns undefined for the affected vars.
Setup: Single request/response function (not scheduled or background), deployed with esbuild bundler. Env vars configured with All scopes in the Netlify dashboard. No code or config changes preceded the issue.
What we’ve confirmed:
- When it occurs, Object.keys(process.env).length shows 37 keys — all system vars, zero user-defined
- We implemented retry logic with exponential backoff (50–400ms, ~750ms total wait). The vars never appeared during retries — they are completely absent for the entire invocation, not delayed
- The issue is intermittent: some cold starts receive env vars normally, others do not
- –skip-functions-cache deploys do not resolve it
- Netlify.env.get() returns undefined for the same vars
Impact: Any handler that reads a user-defined env var (database connection, API keys, auth secrets) returns a 500. Login, checkout, and all authenticated routes fail intermittently with no code change on our side.