diff --git a/NodeApp/src/config/LocalConfig.ts b/NodeApp/src/config/LocalConfig.ts
index 0e5f4e7eb0ad75a7c3e49797bd50a11da6554693..656c0c6bc47dc684556b816178548989086c9313 100644
--- a/NodeApp/src/config/LocalConfig.ts
+++ b/NodeApp/src/config/LocalConfig.ts
@@ -1,10 +1,10 @@
-import * as fs         from 'fs';
-import logger          from '../shared/logging/WinstonLogger';
-import SessionManager  from '../managers/SessionManager';
-import Config          from './Config';
-import LocalConfigKeys from '../types/LocalConfigKeys';
-import GitlabManager   from '../managers/GitlabManager';
-import JSON5           from 'json5';
+import * as fs             from 'fs';
+import SessionManager      from '../managers/SessionManager';
+import Config              from './Config';
+import LocalConfigKeys     from '../types/LocalConfigKeys';
+import GitlabManager       from '../managers/GitlabManager';
+import JSON5               from 'json5';
+import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig';
 
 
 class LocalConfig {
@@ -24,23 +24,43 @@ class LocalConfig {
         try {
             this._config = JSON5.parse(fs.readFileSync(this.configPath).toString());
 
-            SessionManager.token = this._config.apiToken;
-            GitlabManager.token = this._config.gitlabPersonalToken;
-        } catch ( error ) { }
+            if ( LocalConfigKeys.API_TOKEN_ENV in this._config && ClientsSharedConfig.apiURL in this._config[LocalConfigKeys.API_TOKEN_ENV] ) {
+                SessionManager.token = this._config[LocalConfigKeys.API_TOKEN_ENV][ClientsSharedConfig.apiURL];
+            } else {
+                SessionManager.token = this._config[LocalConfigKeys.API_TOKEN];
+            }
+
+            GitlabManager.token = this._config[LocalConfigKeys.GITLAB_PERSONAL_TOKEN];
+        } catch ( error ) {
+            console.log(error);
+        }
     }
 
     updateConfig(key: LocalConfigKeys, value: any) {
-        if ( (this._config as any)[key] === value ) {
+        let previousValue = (this._config as any)[key];
+        if ( key === LocalConfigKeys.API_TOKEN && (!(LocalConfigKeys.API_TOKEN_ENV in this._config) || !(ClientsSharedConfig.apiURL in this._config[LocalConfigKeys.API_TOKEN_ENV])) ) {
+            previousValue = null;
+        }
+
+        if ( previousValue === value ) {
             return;
         }
 
-        (this._config as any)[key] = value;
+        if ( key === LocalConfigKeys.API_TOKEN ) {
+            delete (this._config as any)[LocalConfigKeys.API_TOKEN];
+
+            if ( !(LocalConfigKeys.API_TOKEN_ENV in this._config) ) {
+                (this._config as any)[LocalConfigKeys.API_TOKEN_ENV] = {};
+            }
+
+            (this._config as any)[LocalConfigKeys.API_TOKEN_ENV][ClientsSharedConfig.apiURL] = value;
+        } else {
+            (this._config as any)[key] = value;
+        }
 
         try {
             fs.writeFileSync(this.configPath, JSON5.stringify(this._config, null, 4));
-        } catch ( error ) {
-            logger.error(error);
-        }
+        } catch ( error ) { }
     }
 }
 
diff --git a/NodeApp/src/types/LocalConfigKeys.ts b/NodeApp/src/types/LocalConfigKeys.ts
index 7f1e6ab7f5b842f4cb58827e1ef02a5c0da0a3f6..f64751d4b278c48815dbab243a567257cc21ed04 100644
--- a/NodeApp/src/types/LocalConfigKeys.ts
+++ b/NodeApp/src/types/LocalConfigKeys.ts
@@ -1,5 +1,6 @@
 enum LocalConfigKeys {
     API_TOKEN             = 'apiToken',
+    API_TOKEN_ENV         = 'apiTokenEnv',
     GITLAB_PERSONAL_TOKEN = 'gitlabPersonalToken',
 }