Environment Variables
The following environment variables are ones that you can set to change the behavior of Nx in different environments.
| Property | Type | Description |
|---|---|---|
| NX_ADD_PLUGINS | boolean | If set to false, Nx will not add plugins to infer tasks. This is true by default. Workspaces created before Nx 18 will have this disabled via a migration for backwards compatibility |
| NX_BASE | string | The default base branch to use when calculating the affected projects. Can be overridden on the command line with --base. |
| NX_CACHE_DIRECTORY | string | The cache for task outputs is stored in .nx/cache by default. Set this variable to use a different directory. |
| NX_CACHE_PROJECT_GRAPH | boolean | If set to false, disables the project graph cache. Most useful when developing a plugin that modifies the project graph. |
| NX_DAEMON | boolean | If set to false, disables the Nx daemon process. Disable the daemon to print console.log statements in plugin code you are developing. |
| NX_DEFAULT_PROJECT | string | The default project used for commands which require a project. e.g. nx build, nx g component, etc. |
| NX_HEAD | string | The default head branch to use when calculating the affected projects. Can be overridden on the command line with --head. |
| NX_PERF_LOGGING | boolean | If set to true, will print debug information useful for profiling executors and Nx itself |
| NX_PROFILE | string | Prepend NX_PROFILE=profile.json before running targets with Nx to generate a file that be loaded in Chrome dev tools to visualize the performance of Nx across multiple processes. |
| NX_WORKSPACE_DATA_DIRECTORY | string | The project graph cache and some other internal nx caches are stored in .nx/workspace-data by default. Set this variable to use a different directory. |
| NX_PARALLEL | number | The number of tasks Nx should run in parallel. Overrides any configured value inside nx.json |
| NX_RUNNER | string | The name of task runner from the config to use. Can be overridden on the command line with --runner. Not read if NX_TASKS_RUNNER is set. |
| NX_SKIP_NX_CACHE | boolean | Rerun the tasks even when the results are available in the cache. |
| NX_DISABLE_NX_CACHE | boolean | Rerun the tasks even when the results are available in the cache. |
| NX_SKIP_REMOTE_CACHE | boolean | Disable all remote caching features. This means that the remote cache will not be read from or written to. Includes Nx Cloud and Powerpack Caches. |
| NX_DISABLE_REMOTE_CACHE | boolean | Disable all remote caching features. This means that the remote cache will not be read from or written to. Includes Nx Cloud and Powerpack Caches. |
| NX_TASKS_RUNNER | string | The name of task runner from the config to use. Can be overridden on the command line with --runner. Preferred over NX_RUNNER. |
| NX_TASKS_RUNNER_DYNAMIC_OUTPUT | boolean | If set to false, will use non-dynamic terminal output strategy (what you see in CI), even when you terminal can support the dynamic version |
| NX_TUI | boolean | If set to true or false, will enable or disable the Terminal UI (TUI) for running tasks. TUI provides an interactive visual interface for task execution |
| NX_TUI_AUTO_EXIT | boolean/number | Controls whether the TUI automatically exits after tasks finish. If true, exits immediately. If false, never exits automatically. If a number, shows a countdown for that many seconds before exiting |
| NX_VERBOSE_LOGGING | boolean | If set to true, will print debug information useful for troubleshooting |
| NX_DRY_RUN | boolean | If set to true, will perform a dry run of the generator. No files will be created and no packages will be installed. |
| NX_INTERACTIVE | boolean | If set to true, will allow Nx to prompt you in the terminal to answer some further questions when running generators. |
| NX_GENERATE_QUIET | boolean | If set to true, will prevent Nx logging file operations during generate |
| NX_PREFER_TS_NODE | boolean | If set to true, Nx will use ts-node for local execution of plugins even if @swc-node/register is installed. |
| NX_IGNORE_CYCLES | boolean | If set to true, Nx will ignore errors created by a task graph circular dependency. Can be overridden on the command line with --nxIgnoreCycles |
| NX_BATCH_MODE | boolean | If set to true, Nx will run task(s) in batches for executors which support batches. |
| NX_SKIP_LOG_GROUPING | boolean | If set to true, Nx will not group command's logs on CI. |
| NX_MIGRATE_CLI_VERSION | string | The version of Nx to use for running the nx migrate command. If not set, it defaults to latest. |
| NX_MIGRATE_SKIP_REGISTRY_FETCH | boolean | If set to true, will skip fetching metadata from the registry and instead use the installation method directly. |
| NX_LOAD_DOT_ENV_FILES | boolean | If set to 'false', Nx will not load any environment files (e.g. .local.env, .env.local) |
| NX_MAX_CACHE_SIZE | string | Alternative to configuring maxCacheSize in nx.json. Defines the maximum size of the local task cache. See maxCacheSize for supported units and behavior details. |
| NX_NATIVE_FILE_CACHE_DIRECTORY | string | The cache for native .node files is stored under a global temp directory by default. Set this variable to use a different directory. This is interpreted as an absolute path. |
| NX_PLUGIN_NO_TIMEOUTS | boolean | If set to true, plugin operations will not timeout |
| NX_FORMAT_SORT_TSCONFIG_PATHS | boolean | If set to false, generators won't sort the TypeScript path mappings in the root tsconfig file. |
| NX_SKIP_VSCODE_EXTENSION_INSTALL | boolean | If set to true, skips the automatic installation of the Nx Console extension for supported editors. Set this in environments where the temp file that we store this information in otherwise isn't accessible. |
Nx will set the following environment variables so they can be accessible within the process even outside of executors and generators.
| Property | Type | Description |
|---|---|---|
| NX_TASK_TARGET_PROJECT | string | Set to the project name of the task being run. Use this to tell which project is being run. |
| NX_TASK_TARGET_TARGET | string | Set to the target name of the task being run. Use this to tell which target of the project is being run. |
| NX_TASK_TARGET_CONFIGURATION | string | Set to the configuration name of the task being run. Use this to tell which configuration of the target is being run. |
| NX_GRAPH_CREATION | boolean | Set to true during the graph creation process. Use this to have inference plugins run different code during graph creation versus during task execution |
| NX_DRY_RUN | boolean | Set to true during dry runs of generators. Use this to avoid side effects during generators. |
| NX_INTERACTIVE | boolean | Set to false when running generators with --interactive=false. Use this to prevent prompting during generators |
Nx Cloud Environment Variables are listed on a dedicated page.