# AUTH0_EXPERIMENTAL_EA: How to Enable Experimental Features in the Auth0 Deploy CLI

> Learn how to enable experimental features in the Auth0 Deploy CLI using AUTH0_EXPERIMENTAL_EA. Discover pre-release capabilities and manage them for your projects.

- Repository: [Auth0/auth0-deploy-cli](https://github.com/auth0/auth0-deploy-cli)
- Tags: how-to-guide
- Published: 2026-02-25

---

**The `AUTH0_EXPERIMENTAL_EA` environment variable and CLI flag enable pre-release features in the Auth0 Deploy CLI, though currently no experimental features are active as the `EA_FEATURES` array remains empty.**

The `auth0-deploy-cli` repository provides infrastructure for testing cutting-edge Auth0 resources before they reach general availability. By setting `AUTH0_EXPERIMENTAL_EA` to `true`, you opt into a warning-enabled mode that will surface new resource types as they are added to the codebase.

## What Is AUTH0_EXPERIMENTAL_EA?

`AUTH0_EXPERIMENTAL_EA` is a boolean configuration flag that activates **experimental early-access mode** in the Auth0 Deploy CLI. When enabled, the CLI logs a warning indicating that pre-release features are active, which signals that exported or imported configurations may include unstable resource types.

According to the source code in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) (lines 30-34), the currently enabled experimental features are stored in the `EA_FEATURES` constant:

```typescript
// From src/context/index.ts
const EA_FEATURES: string[] = [
  // Add experimental features here
];

```

As of the latest release, this array is **empty**, meaning no experimental features are currently available for use.

## How to Enable AUTH0_EXPERIMENTAL_EA

You can activate the experimental flag via command-line argument or configuration file.

### Command-Line Option

Pass the `--experimental_ea` flag to either the `import` or `export` command. This option is defined in [`src/args.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/args.ts) (lines 12-15 and 47-50):

```bash

# Export with experimental features enabled

auth0-deploy-cli export \
  --config_file config.json \
  --format yaml \
  --output_folder ./out \
  --experimental_ea

```

### Configuration File

Alternatively, set `AUTH0_EXPERIMENTAL_EA` to `true` in your JSON configuration file. The property is defined in [`src/types.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/types.ts) (lines 95-96) as part of the `Config` interface:

```json
{
  "AUTH0_DOMAIN": "example.auth0.com",
  "AUTH0_CLIENT_ID": "your-client-id",
  "AUTH0_CLIENT_SECRET": "your-client-secret",
  "AUTH0_EXPERIMENTAL_EA": true
}

```

## How AUTH0_EXPERIMENTAL_EA Works in the Source Code

The flag propagates through the CLI architecture from argument parsing to command execution.

### Argument Parsing and Propagation

In [`src/args.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/args.ts), the `--experimental_ea` argument is parsed as a boolean. This value flows into both the `import` and `export` commands.

In [`src/commands/import.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/commands/import.ts) (lines 43-48), the flag is extracted from arguments and merged into the configuration overrides:

```typescript
// From src/commands/import.ts
const overrides = {
  AUTH0_INPUT_FILE: args.input_file,
  AUTH0_EXPERIMENTAL_EA: args.experimental_ea,  // Boolean flag passed through
};

```

Similarly, [`src/commands/export.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/commands/export.ts) (lines 48-53) handles the same propagation for export operations.

### Context Initialization and Warning Display

The [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) file manages the runtime context and displays the appropriate messaging. When `AUTH0_EXPERIMENTAL_EA` is `true`, the code at lines 154-166 checks the `EA_FEATURES` array and logs a warning:

```typescript
// Conceptual flow from src/context/index.ts
if (config.AUTH0_EXPERIMENTAL_EA) {
  console.warn('Experimental early-access features are enabled.');
  console.warn('These features are pre-release and may change.');
  // EA_FEATURES array would be logged here if populated
}

```

If the flag is `false` (the default), an informational message explains how to enable the mode.

## Current Experimental Features Available

As of the latest commit to the `master` branch, **no experimental features are currently active**. The `EA_FEATURES` array in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) remains empty, indicating that while the infrastructure for early-access features is fully implemented, the Auth0 Deploy CLI team has not yet released any resources behind this flag.

When experimental features become available, they will appear in the `EA_FEATURES` array, and enabling `AUTH0_EXPERIMENTAL_EA` will surface them in both import and export operations.

## Summary

- **AUTH0_EXPERIMENTAL_EA** is a boolean flag that enables pre-release features in the Auth0 Deploy CLI.
- Set it via the `--experimental_ea` CLI argument or the `AUTH0_EXPERIMENTAL_EA` property in your JSON config file.
- The flag is defined in [`src/types.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/types.ts), parsed in [`src/args.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/args.ts), and propagated through [`src/commands/import.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/commands/import.ts) and [`src/commands/export.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/commands/export.ts).
- Currently, the `EA_FEATURES` array in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) is empty, meaning no experimental features are available yet.
- When enabled, the CLI logs a warning that experimental features are active and may change without notice.

## Frequently Asked Questions

### What happens when I enable AUTH0_EXPERIMENTAL_EA?

When you set `AUTH0_EXPERIMENTAL_EA` to `true`, the Auth0 Deploy CLI logs a warning message indicating that experimental early-access features are enabled. According to the source code in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts), this warning alerts you that any features listed in the `EA_FEATURES` array are pre-release and subject to change. Currently, this array is empty, so no additional functionality is exposed beyond the warning itself.

### Are there any risks to using experimental features?

Yes, experimental features enabled via `AUTH0_EXPERIMENTAL_EA` are explicitly marked as pre-release in the codebase. The warning logic in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) indicates these features may change, be removed, or behave unpredictably in future versions. You should only enable this flag in development or staging environments, and never in production deployments where stability is critical.

### How do I know if new experimental features are available?

You can check the `EA_FEATURES` array defined in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) in the GitHub repository. When the Auth0 Deploy CLI team releases new experimental resources, they will populate this array with feature identifiers. Additionally, the CLI will log the specific enabled features when `AUTH0_EXPERIMENTAL_EA` is true and the array contains entries. Currently, the array remains empty, indicating no features are available.

### Can I use AUTH0_EXPERIMENTAL_EA in production?

No, you should not use `AUTH0_EXPERIMENTAL_EA` in production environments. The flag is designed for early testing of pre-release features that may change or break without notice. The warning system implemented in [`src/context/index.ts`](https://github.com/auth0/auth0-deploy-cli/blob/main/src/context/index.ts) explicitly categorizes these features as unstable. For production deployments, leave this flag set to `false` (the default) to ensure you only use stable, supported resource types.