Access your Worker's environment variables from process.env
You can now access environment variables and
secrets on process.env
when using the nodejs_compat compatability flag.
const apiClient = ApiClient.new({ apiKey: process.env.API_KEY });const LOG_LEVEL = process.env.LOG_LEVEL || "info";In Node.js, environment variables are exposed via the global process.env object. Some libraries
assume that this object will be populated, and many developers may be used to accessing variables
in this way.
Previously, the process.env object was always empty unless written to in Worker code. This could
cause unexpected errors or friction when developing Workers using code previously written for Node.js.
Now, environment variables,
secrets, and version metadata
can all be accessed on process.env.
To opt-in to the new process.env behaviour now, add the nodejs_compat_populate_process_env compatibility flag to your
wrangler.json configuration:
{ // Rest of your configuration // Add "nodejs_compat_populate_process_env" to your compatibility_flags array "compatibility_flags": ["nodejs_compat", "nodejs_compat_populate_process_env"], // Rest of your configurationcompatibility_flags = [ "nodejs_compat", "nodejs_compat_populate_process_env" ]After April 1, 2025, populating process.env will become the default behavior when both nodejs_compat is enabled and
your Worker's compatibility_date is after "2025-04-01".
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark