Environment Variables

The following environment variables are ones that you can set to change the behavior of Nx in different environments.

PropertyTypeDescription
NX_ADD_PLUGINSbooleanIf 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_BASEstringThe default base branch to use when calculating the affected projects. Can be overridden on the command line with --base.
NX_CACHE_DIRECTORYstringThe cache for task outputs is stored in .nx/cache by default. Set this variable to use a different directory.
NX_CACHE_PROJECT_GRAPHbooleanIf set to false, disables the project graph cache. Most useful when developing a plugin that modifies the project graph.
NX_DAEMONbooleanIf set to false, disables the Nx daemon process. Disable the daemon to print console.log statements in plugin code you are developing.
NX_DEFAULT_PROJECTstringThe default project used for commands which require a project. e.g. nx build, nx g component, etc.
NX_HEADstringThe default head branch to use when calculating the affected projects. Can be overridden on the command line with --head.
NX_PERF_LOGGINGbooleanIf set to true, will print debug information useful for for profiling executors and Nx itself
NX_PROFILEstringPrepend 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_PROJECT_GRAPH_CACHE_DIRECTORYstringThe project graph cache is stored in .nx/cache by default. Set this variable to use a different directory.
NX_PROJECT_GRAPH_MAX_WORKERSnumberThe number of workers to use when calculating the project graph.
NX_PARALLELnumberThe number of tasks Nx should run in parallel. Overrides any configured value inside nx.json
NX_RUNNERstringThe 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_CACHEbooleanRerun the tasks even when the results are available in the cache
NX_TASKS_RUNNERstringThe 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_OUTPUTbooleanIf 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_VERBOSE_LOGGINGbooleanIf set to true, will print debug information useful for troubleshooting
NX_DRY_RUNbooleanIf set to true, will perform a dry run of the generator. No files will be created and no packages will be installed.
NX_INTERACTIVEbooleanIf set to true, will allow Nx to prompt you in the terminal to answer some further questions when running generators.
NX_GENERATE_QUIETbooleanIf set to true, will prevent Nx logging file operations during generate
NX_PREFER_TS_NODEbooleanIf set to true, Nx will use ts-node for local execution of plugins even if @swc-node/register is installed.
NX_IGNORE_CYCLESbooleanIf set to true, Nx will ignore errors created by a task graph circular dependency. Can be overriden on the command line with --nxIgnoreCycles
NX_BATCH_MODEbooleanIf set to true, Nx will run task(s) in batches for executors which support batches.
NX_SKIP_LOG_GROUPINGbooleanIf set to true, Nx will not group command's logs on CI.
NX_MIGRATE_CLI_VERSIONstringThe version of Nx to use for running the nx migrate command. If not set, it defaults to latest.
NX_LOAD_DOT_ENV_FILESbooleanIf set to 'false', Nx will not load any environment files (e.g. .local.env, .env.local)
NX_NATIVE_FILE_CACHE_DIRECTORYstringThe cache for native .node files is stored under a global temp directory by default. Set this variable to use a different directory

Nx will set the following environment variables so they can be accessible within the process even outside of executors and generators.

PropertyTypeDescription
NX_TASK_TARGET_PROJECTstringSet to the project name of the task being run. Use this to tell which project is being run.
NX_TASK_TARGET_TARGETstringSet to the target name of the task being run. Use this to tell which target of the project is being run.
NX_TASK_TARGET_CONFIGURATIONstringSet to the configuration name of the task being run. Use this to tell which configuration of the target is being run.
NX_DRY_RUNbooleanSet to true during dry runs of generators. Use this to avoid side effects during generators.
NX_INTERACTIVEbooleanSet 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.