# Environment variable Support in "node" type app definitions

**URL:** <https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188>\
**Category:** IOCD Help\
**Tags:** question\
**Created:** [September 30, 2025, 12:44pm UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188 "2025-09-30T12:44:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![adnanahmad](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/adnanahmad/32/46_2.png) [@adnanahmad](https://community.interop.io/u/adnanahmad)\
**Post date:** [September 30, 2025, 12:44pm UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/1 "2025-09-30T12:44:00Z")

</div>

### Product, Libraries & Version

Interop Desktop 9.9.4

### Goal

Use an environment variable when running our node application and have node inherit it in process.env.

**Steps tried**

1. Set allowEnvVars to true
2. Added an env object with a key value pair of “ENV\_FILE”: “.env.lp\_dev”

From what I can see the app schema [here](https://docs.interop.io/desktop/assets/configuration/application.json) doesn’t provide a environment variable configuration for type “node”, only thing related I can see is “nodeCLIOptions”. It seems however to be present on “window” and “exe” application types.

Does interop support this for node apps? To be clear this isn’t a web app, its a node CLI app that we auto start as part of our setup, there is no UI, hence not using it as a window.

### Actual vs expected

Expected process.env to include our environment variable, which wasn’t the case.

---

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [September 30, 2025, 2:37pm UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/2 "2025-09-30T14:37:54Z")

</div>

> [@adnanahmad](#):
>
> From what I can see the app schema [here](https://docs.interop.io/desktop/assets/configuration/application.json) doesn’t provide a environment variable configuration for type “node”, only thing related I can see is “nodeCLIOptions”. It seems however to be present on “window” and “exe” application types.
> 
> Does interop support this for node apps? To be clear this isn’t a web app, its a node CLI app that we auto start as part of our setup, there is no UI, hence not using it as a window.

I believe you are right - env is available in “exe”, but not in node. @georgi.davidkov can you confirm?

---

<div class="post-metadata">

**Author:** ![kiril.popov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/kiril.popov/32/65_2.png) [@kiril.popov](https://community.interop.io/u/kiril.popov)\
**Post date:** [October 2, 2025, 11:02am UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/3 "2025-10-02T11:02:20Z")

</div>

Yes this is correct, this is not supported for NodeJS apps

Currently for NodeJS apps you can use nodeCLIOptions - however these are cmd line arguments, not env variables.

---

<div class="post-metadata">

**Author:** ![adnanahmad](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/adnanahmad/32/46_2.png) [@adnanahmad](https://community.interop.io/u/adnanahmad)\
**Post date:** [October 7, 2025, 9:47am UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/4 "2025-10-07T09:47:32Z")

</div>

So the only alternative here for being able to set environment variables is to use an exe type application and call the node command directly? We’ve got plenty of cases at the moment where we need to run a node app that needs to use environment variables and it sounds like the node app type is very limited- what options do we have instead of this?

---

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [October 11, 2025, 3:01pm UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/5 "2025-10-11T15:01:24Z")

</div>

Hi @adnanahmad

Sorry for the delay. Can you provide a bit more detail about your use case and workflow here?

`allowEnvVars` is for web apps and enables them to access the main process env variables using glue42gd.env object. And node app started as apps should inherit these vars by default.

---

<div class="post-metadata">

**Author:** ![iskren.io.sfa](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/iskren.io.sfa/32/45_2.png) [@iskren.io.sfa](https://community.interop.io/u/iskren.io.sfa)\
**Post date:** [January 15, 2026, 6:40am UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/6 "2026-01-15T06:40:35Z")

</div>

Hi @adnanahmad,

I encountered the same issue. Initially, I considered configuring the required properties via `app-config`, but later realized that using a `gilding.json` file with the necessary environment variables is a better approach.

For local development, setting the environment variables directly is sufficient. However, for production environments, we recommend using `remoteConfig` for improved security.

[io.Connect Desktop Documentation - Configuration \> System](https://docs.interop.io/desktop/developers/configuration/system/index.html#gilding_configuration-custom_environment_variables).

**Note:** In addition to the documentation, it can be useful to pass the configuration file explicitly to the `io-connect-desktop` executable:

```auto
io-connect-desktop.exe --gildingConfigFile=gilding-ENV-Region.json

```

This works both when launching via a shortcut and from the command line.

Best regards,  
Iskren

---

<div class="post-metadata">

**Author:** ![iskren.io.sfa](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/iskren.io.sfa/32/45_2.png) [@iskren.io.sfa](https://community.interop.io/u/iskren.io.sfa)\
**Post date:** [January 15, 2026, 6:06pm UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/7 "2026-01-15T18:06:53Z")

</div>

Important (Upgrade Limitation):  
Please note that when upgrading to io.Connect Desktop 10.0, support for loading configuration via gilding.json is not available. This functionality is planned and scheduled for implementation in a future release of io.Connect Desktop.  
As a result, customers who rely on gilding.json must remain on an io.Connect Desktop 9.x version and defer upgrading to v10.0 until this support is reintroduced.

Update: as of Jan 16th '26:  
From 10.0.3 and above you may simply move all your `gilding.json` environment variables into the `system.json` as described in [io.Connect Desktop Documentation - Changelog \> io.Connect Desktop 10.0.3](https://docs.interop.io/desktop/getting-started/changelog/10-0-3/index.html#new_features-custom_environment_variables)

---

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [January 19, 2026, 9:18am UTC](https://community.interop.io/t/environment-variable-support-in-node-type-app-definitions/188/8 "2026-01-19T09:18:08Z")

</div>

Hi @adnanahmad

Good news - you initial question has been prioritized as a feature request by the product team and implemented in the latest release [10.0.3](https://docs.interop.io/desktop/getting-started/changelog/10-0-3/index.html). You can now define **custom environment variables** directly in **`system.json`** via the new **`envVars.set`** configuration. Those variables are registered by the platform on startup and can be consumed inside config files using `%MY_VAR%` or inside Node apps started by io.Connect Desktop, via `process.env`. Check out:

> **[Environment Variables - io.Connect Desktop Documentation - Configuration \>...](https://docs.interop.io/desktop/developers/configuration/overview/index.html#environment_variables)**
>
> io.Connect Desktop is highly configurable. You can apply custom system-wide, as well as app-specific settings. Among the configurable features are system settings, app settings, io.Connect Windows, logging and more. | Get started with using the...
