> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom flags

> This topic explains how to get started with custom flags.

> For the complete documentation index, see [llms.txt](/llms.txt). For the full documentation snapshot, see [llms-full.txt](/llms-full.txt).

## Overview

This topic explains how to get started with custom flags.

While LaunchDarkly provides flag creation templates for the common flag templates discussed in this category, we expect that you will need other flags as well. For ideas and examples of other flags and their use cases, read our guide on [Creating flags](/guides/flags/creating-flags).

<Note title="Default flag settings only apply to custom flags">
  When you create a new flag in the LaunchDarkly UI, you can choose to start with a flag template, or create a custom flag. Each flag template has its own custom default settings that you cannot alter. Only custom flags are affected by the default flag settings you configure at the project level.

  To learn more about default flag settings, read [Projects](/home/account/project).
</Note>

## Create custom flags

To create a custom flag:

1. Click **Create** and choose **Flag**. The "Create flag" dialog appears.
2. Enter a unique, human-readable **Name**. A suggested key auto-populates from the name you enter, but you can customize it if you wish.
3. (Optional) Click **Edit key** to update the flag key. You'll use this key to reference the flag in your code.
4. (Optional) Enter a **Description** of the flag. A brief, human-readable description helps your account members understand what the flag is for.
5. (Optional) Click **No template** and select **Custom**.
6. (Optional) Click **+** to add additional variations to string, number, or JSON flags.
7. (Optional) Change the [default on](/home/flags/default-rule) and [default off](/home/flags/off-variation) variations if needed.
8. (Optional) Click on your member name to change the flag maintainer.
9. (Optional) Click the **tag** icon to add one or more [tags](/home/account/tags).
10. (Optional) Click on the views icon to add the flag to a [view](/home/account/views).
11. (Optional) Click **All SDKs** to make the flag [unavailable to client-side or mobile SDKs](/home/flags/flag-settings). Flags are available to all SDKs by default.
12. (Optional) Click **Temporary** to change the flag from [temporary to permanent](/home/flags/flag-settings).
13. Click **Create flag**.

The flag **Targeting** tab appears.

After you create a flag, you can make further changes to it as needed, such as to [update flag targeting](/home/flags/target).

To learn more, read [Creating new flags](/home/flags/new).

## Modify the custom flag template

To modify your custom flag template:

1. Click the project dropdown. The project menu appears:

<Frame caption="The project menu.">
  ![The project menu.](https://files.buildwithfern.com/https://launchdarkly.docs.buildwithfern.com/docs/b0dbb7934c69e875ae14bdb12a880ae2b7d28030b397db14e553fe9709d74fcc/assets/images/auto/project-menu-dropdown.auto.png)
</Frame>

2. Select **Project settings**.
3. Select **Flags**. The **Flags** settings list appears.
4. In the "Flag templates section, click the **pencil** icon next to "Custom."
5. Choose **Yes** or **No** to mark all custom flags as temporary or permanent.
6. In the "Variations" section, edit the flag variation **Names**.
7. In the "Default variations" section, choose which default variations to serve when the flag is toggled **On** or **Off**.
8. In the "Tags" section, type to add tags to each new flag by default.
9. Click **Save**.

Verify that the updated default template settings are correct by navigating to the **Flags** list and creating a new custom flag.
