> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://launchdarkly.com/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://launchdarkly.com/docs/_mcp/server.

# Create and manage config variations

> This topic explains how to create and manage config variations.

This topic explains how to create and manage config and judge variations.

An **AgentControl config** is a resource that you create in LaunchDarkly. You can use AgentControl to customize, test, and roll out new large language models (LLMs) within your generative AI applications.

A **judge** is a specialized AgentControl config that uses a large language model (LLM) as a judge to evaluate responses and return numeric scores that represent quality signals related to accuracy, relevance, toxicity, or custom signals you define.

Both configs and judges use similar configuration patterns. The documentation in this topic can be used for either config or judge configuration, except where otherwise indicated. To learn more, read [Custom judges](/home/agentcontrol/judges).

Within each config, you define one or more variations. Each variation defines a unique combination of model settings and prompt content, using messages in completion mode or instructions in agent mode. A variation can be in one of two states: "published" or "archived."

You can create config variations in either completion mode or agent mode:

* In completion mode, variations define messages and model parameters.
* In agent mode, variations define instructions and optional tools instead of messages.

To learn how instructions and tools are defined and used in agent mode, read [Agents](/home/agentcontrol/agents).

## Create config variations

You can create variations for a config using the LaunchDarkly UI. Each variation defines a unique combination of model settings and prompt messages. In completion mode, this content consists of messages. In agent mode, it consists of instructions. You can create multiple variations in the UI at the same time.

To create one or more variations in the LaunchDarkly UI:

1. In the left sidebar, click **Agents**. The AgentControl menu appears.

2. Click **Configs**.

3. Click the name of the config you wish to edit.
   a. To edit a judge, navigate to the library, then the **Judges** tab and click the name of the judge you wish to edit.

4. Click the **Variations** tab.

   ![The Variations tab of a newly-created config.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/launchdarkly.docs.buildwithfern.com/0fc1cb40e79941837a4872f042bbff5f03ae3dffa87624a823fb3b80895dc754/assets/images/auto/ai-config-variation-create.auto.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260803T031003Z&X-Amz-Expires=604800&X-Amz-Signature=6514a2d7247d9ec989d5dbc125b493443395294b047dcb88a6ee38f098bd7954&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

5. Click **Add variation**.

6. Enter a variation **Name**. Use this name to refer to the variation when setting up [targeting rules](/home/agentcontrol/target).

7. Click **Select a model** and choose a model to use.

   * LaunchDarkly provides a frequently updated list of common models.
   * You can also choose **Add a model** and create your own. To learn more, read [Create and manage AI model configurations](/home/agentcontrol/create-model-config).

   #### LaunchDarkly does not send any data to these models

   LaunchDarkly does not transmit any information you provide when creating a config and its variations to external models. We do not use any of this data to fine-tune or train any models.
   Your model selection is solely used to suggest parameter values and help you organize which messages are associated with each model.
   This list of available models is updated regularly. If you want us to add a new model, click the **Give feedback** option to share your request.

8. After you assign a model to a variation, click **Add parameters** and configure model or custom parameters for the variation. To learn more, read [Add parameters](#optional-add-parameters).

9. (Optional) In completion mode, use the dropdown menu to select the message role for the first message in this variation. The default value is "system" but you can also choose "assistant" or "user." Not all model providers support every role.

10. (Optional) In completion mode, enter the text of the message. You can use standard Markdown formatting within the message.
    * (Optional) Use double curly braces to indicate variables that you'll set at runtime from your application. For example, enter `This is an {{ example }} message` if you want to replace `{{ example }}` with some other value in your application code when an end user encounters this variation.
    * (Optional) Use double curly braces, the `ldctx` prefix, and dot (`.`) notation to indicate [context attributes](/home/flags/context-attributes) whose values you want to use at runtime. For example, enter `Describe the typical weather in {{ ldctx.city }}` to replace `{{ ldctx.city }}` with the `city` attribute from each context that encounters this config.
    * To learn more about how variables and context attributes are inserted into messages at runtime, read [Customizing AgentControl configs](/sdk/features/agentcontrol-config).

11. (Optional) Click **+ Add message** and repeat steps 8 and 9 to include another message in this variation.

12. (Optional) Click **Add tools** to incorporate built-in tools into the config variation. To learn more, read [Tools](/home/agentcontrol/tools).

13. (Optional) For an AgentControl config, click **Add judges** to incorporate a judge into this variation. To learn more, read [Judges](/home/agentcontrol/judges).

14. Click **Review and save** to save the variation.

You can also use the REST API: [Create config variation](/api/ai-configs/post-ai-config-variation). The REST API supports creating individual variations only.

After creating a config and its variations, you can set up [targeting rules](/home/agentcontrol/target) and [use the config in your SDK](/sdk/ai).

### (Optional) Add parameters

After you assign a model to a variation, an **Add parameters** button appears. Use this button to configure model or custom parameters for the variation.

To add parameters:

1. Click **Add parameters** to view the **Model parameters** and **Custom parameters** options.
2. To add model parameters:
   1. Click **Model parameters**.
   2. Click **+ Add model parameters**.
   3. Select a model parameter, such as `temperature` or `max_tokens`, from the list. The available parameters vary depending on the model you select.
   4. In the configuration panel for the selected parameter, view the "Base value" and optionally enter an "Override value" for this variation.
   5. To add more parameters, click **+ Add model parameters** again.
3. To add custom parameters:
   1. Click **Custom parameters**.
   2. In the JSON editor that appears, enter your custom parameters as key-value pairs inside the curly braces (`{}`).

You can continue creating or editing additional variations, or complete the variation creation process:

1. Click **Review and save**. The "Save changes" dialog lists all the variations you've created. You can view your changes in a unified or split view, and expand or collapse individual variations as needed.
2. (Optional) Enter a comment describing your changes.
3. Click **Save** to add all variations to the config. Each new variation receives a version number, and the version numbers of existing variations are incremented.

#### Parameters display next to \*\*Add parameters\*\*

Any parameters you've added appear next to **Add parameters** in the variation.

## Edit config variations

You can update variations for a config using the LaunchDarkly UI. You can edit multiple variations in the UI at the same time.

To update one or more variations in the LaunchDarkly UI:

1. In the left sidebar, click **Agents**. The AgentControl menu appears.
2. Click **Configs**.
3. Click the name of the config to edit.
4. Make changes to any of the config's variations. You can expand or collapse individual variations to help you focus on specific updates.
5. Click **Review and save**. The "Save changes" dialog lists the updates for each variation. You can view your changes in a unified or split view, and collapse or expand individual variations as needed.
6. (Optional) Enter a comment describing the changes.
7. Click **Save** to create a new version of the config that includes all the updates. Each updated variation receives a new version number.

#### You can release variations gradually

You can release a new variation gradually using a [guarded rollout](/home/releases/guarded-rollouts). Guarded rollouts reduce risk and let you monitor key metrics as the change rolls out.

You can also use the REST API: [Update config variation](/api/ai-configs/patch-ai-config-variation). The REST API supports updating individual variations only.

### The model cost estimator

When you edit a config variation to change which model version you use, you can use the model cost estimator to preview an estimate of how your model cost may change. The model cost estimator is an inline, read-only tool that shows a projected percentage price increase or decrease when you pick a different model for a variation.

Use the model cost estimator if you:

* Evaluate tradeoffs between model quality and cost
* Maintain many config variations and want a localized cost signal before you change a model
* Optimize model selection for cost-sensitive environments

The estimator compares recent observed spend for a variation to a repriced projection that uses the newly selected model’s per-token list pricing. It displays the results of that comparison as a percentage price increase or decrease in the config variation UI. This lets you make more cost-informed model choices without updating your saved config settings or billing data.

![A config variation with the tooltip from the model cost estimator called out.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/launchdarkly.docs.buildwithfern.com/1299969813441094ae6f51e86a2d81458b51451f582118657df681564d88aef9/assets/images/__LD_UI_no_test/agentcontrol-model-cost-estimator.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260803T031003Z&X-Amz-Expires=604800&X-Amz-Signature=4fdf6b15603f00170c8779e765aab34a1654592d53be95a47afb9b4c2956c1b1&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

Estimates are based on seven days of variation-level monitoring and observed `cost_tokens_sum`. The estimator's pricing model uses per-token list pricing for repricing and may not reflect negotiated discounts, cached token pricing, or account-level charge adjustments.

The estimator does not always appear. It is hidden if there isn’t enough data, if the selected model equals the saved model, or if the difference between the two is negligible.

Here's how to use it:

1. In the left sidebar, click **Agents**. The AgentControl menu appears.
2. Click **Configs**.
3. Click the name of the config to edit.
4. Pick a model different from the saved model. If sufficient variation-level monitoring data exists, an inline percentage price increase or decrease appears next to the selector.
5. Hover over the tooltip to display the projected and observed spend comparison.

## Duplicate a config variation

Often, when you create a new variation for a config, you want the new variation to be very similar to an existing variation. You may only be changing the messages slightly or adjusting the model parameters. Instead of creating a new config from scratch, you can duplicate an existing config variation and make changes to the copy.

To duplicate an existing config variation:

1. Navigate to the detail page for the config.

2. Select the **Variations** tab.

3. Find the variation you want to duplicate.

4. Click the **three-dot** overflow menu for the variation and select **Duplicate**:

   ![The overflow menu for a variation.](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/launchdarkly.docs.buildwithfern.com/3c206e0e45664138742d07f4b53c70001f34a21c0bb67174f7a75c34a26491f3/assets/images/auto/ai-configs-variations-actions.auto.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260803T031003Z&X-Amz-Expires=604800&X-Amz-Signature=a0283cad545a6d81bcc919b681daa063f3014222643762465c080cc6ddb80001&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

5. The new variation has the same name as the one you duplicated, appended with "(Copy)". Update the new variation as needed.

6. Click **Review and save**.

## Working with archived config variations

Each config variation can be in one of two states: "published" or "archived."

By default, all variations are published. You can only use published variations in targeting rules.

You can mark a variation as archived if you want to keep it for reference or comparison purposes, but no longer need to use it in [targeting rules](/home/agentcontrol/target) or [running experiments](/home/experimentation/create).

### Archive config variations

To archive a config variation:

1. Navigate to the detail page for the config.
2. Select the **Variations** tab.
3. Find the variation you want to archive.
4. Click the **three-dot** overflow menu and choose **Archive**.

The variation moves to the archived view on the **Variations** tab, and its version number is incremented. If you [compare the new variation version to the previous one](/home/agentcontrol/compare-variation-versions), there will be no differences in the model configuration or variation content. The only difference between the two variation versions is the publication state.

### View archived config variations

To view archived config variations:

1. Navigate to the detail page for the config.
2. Select the **Variations** tab.
3. From the **Published** dropdown, select **Archived** to open the list of archived variations.

### Restore archived config variations

To restore an archived config variation:

1. Navigate to the detail page for the config.
2. Select the **Variations** tab.
3. From the **Published** dropdown, select **Archived** to open the list of archived variations.
4. Find the variation you want to restore.
5. Click the **three-dot** overflow menu and choose **Restore**.

The variation moves to the published view on the **Variations** tab, and its version number is incremented. If you [compare the new variation version to the previous one](/home/agentcontrol/compare-variation-versions), there will be no differences in the model configuration or variation content. The only difference between the two variation versions is the publication state.

## Delete a config variation

To delete a config variation:

1. Navigate to the detail page for the config.
2. Select the **Variations** tab.
3. Find the variation you want to delete. Use the **Published** dropdown to switch between the published and archived views if needed to find the variation.
4. Click the **three-dot** overflow menu and choose **Delete variation**.

## Approvals for variations

Changes to config variations may require approval before they take effect. For example, updating or deleting a variation value can trigger an approval workflow, depending on your environment's approval settings. Some changes, such as adding a new variation or updating a variation's name, do not require approval.

For information about configuring approvals, read [Configuring approvals for an environment](/home/releases/approval-config).