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_ADD_TS_PLUGINbooleanIf set to false when creating a new workspace using the ts preset, Nx will not add the @nx/js/typescript plugin to infer tasks and will not set up the workspace with TypeScript project references. This is true by default.
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_WORKSPACE_DATA_DIRECTORYstringThe 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_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 overridden 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. This is interpreted as an absolute path.
NX_PLUGIN_NO_TIMEOUTSbooleanIf set to true, plugin operations will not timeout
NX_SOCKET_DIRECTORYstringSets the directory that Nx will use when creating sockets to communicate with child processes. May be needed if the derived socket path is too long.

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_GRAPH_CREATIONbooleanSet 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_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.