For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sign inTry it free
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
  • Get started
    • Overview
    • Onboarding
    • Get started
    • Launch Insights
    • LaunchDarkly architecture
    • LaunchDarkly vocabulary
  • AgentControl
    • AgentControl
    • Manage AgentControl
  • Feature flags
    • Create flags
    • Target with flags
    • Flag templates
    • Manage flags
      • The Flags list
      • Comparing and copying flag settings
      • Viewing flags across environments
      • Deprecating flags
      • Archiving flags
      • Deleting flags
      • Flag prerequisites
      • The off variation
      • The default rule
      • Flag statuses and lifecycle stages
      • Flag lifecycle settings
      • Project-level flag settings
      • Vega for flag cleanup
    • Code references
    • Contexts
    • Segments
  • Releases
    • Releasing features with LaunchDarkly
    • Release policies
    • Percentage rollouts
    • Progressive rollouts
    • Guarded rollouts
    • Feature monitoring
    • Release pipelines
    • Engineering insights
    • Release management tools
    • Applications and app versions
    • Change history
    • Restoring previous flag versions
  • Observability
    • Observability
    • Session replay
    • Error monitoring
    • Logs
    • Traces
    • Observability metrics
    • Product analytics events
    • LLM observability
    • Alerts
    • Dashboards
    • Service map
    • Vega for auto-remediation
    • Observability MCP server
    • Search specification
    • Observability settings
    • Observability integrations
  • Experimentation
    • Experimentation
    • Experiment metric types
    • Experiment configuration
    • Managing experiments
    • Analyzing experiments
    • Multi-armed bandits
    • Holdouts
  • Metrics and events
    • Metrics in LaunchDarkly
    • Creating metrics
    • Metric groups
    • Events
    • Autogenerated metrics
  • Warehouse native
    • Warehouse native metrics
    • Setting up external warehouses
    • Creating experiments using warehouse native metrics
  • Infrastructure
    • Connect apps and services to LaunchDarkly
    • LaunchDarkly in China and Pakistan
    • LaunchDarkly in the European Union (EU)
    • LaunchDarkly in federal environments
    • Public IP list
  • Your account
    • Projects
    • Views
    • Environments
    • Tags
    • Teams
    • Members
    • Roles
    • Account security
    • Feature previews
    • Billing and usage
    • Changelog
Sign inTry it free
LogoLogo
On this page
  • Overview
  • Flag lifecycle stages
  • Flag status definitions
Feature flagsManage flags

Flag statuses and lifecycle stages

Was this page helpful?
Previous

Flag lifecycle settings

Next
Built with

Overview

This topic explains what the different flag statuses are, and how they relate to a flag’s lifecycle. It also describes how to view this information in the LaunchDarkly user interface (UI).

The Flags list shows, for each environment, how many flag evaluations have taken place for each flag.

You can use a project-level filter to filter the list by flag lifecycle stage.

You can use an environment-level filter to filter the list by flag status in that environment.

Flag lifecycle stages

A flag may go through several stages over the course of its lifecycle. The lifecycle stage is based on what is happening across all environments. Not all flags will go through all lifecycle stages.

The following table explains the flag lifecycle stages:

Lifecycle stageDefinition
LiveA flag that was created in the last 30 days, or is permanent, or has a New or Active status. LaunchDarkly automatically indicates that flags are in this stage.
Ready for code removalA flag that is temporary, has a “Launched” status in all critical environments, is 30 days old or older, has code references, and is not a prerequisite for any other flags in any critical environments. LaunchDarkly automatically indicates that flags are in this stage. A flag will only reach in this stage if there are critical environments in your project.
Ready to archive

A flag that meets all of the “ready to archive” criteria specified in the flag lifecycle settings for the project. To customize these criteria, read Flag lifecycle settings.

By default, these criteria include: the flag is temporary, has an “Inactive” status in all critical environments, is 30 days old or older, does not have any code references and is not a prerequisite for any other flags. Under these criteria, a flag will only reach this stage if there are critical environments in your project.

LaunchDarkly automatically indicates that flags are in this stage, based on the criteria in the flag lifecycle settings.

DeprecatedA flag that is still being served to customers, but is only being served in older or deprecated versions of your application, and has been manually deprecated. You must specifically deprecate a flag in order for it be in this stage. To learn more, read Deprecating flags.
ArchivedA flag that is no longer being served to customers, and is not a prerequisite of other flags, and has been manually archived. LaunchDarkly recommends flags that are ready to archive, however, you must specifically archive a flag in order for it to be in this stage. To learn more, read Archiving flags.
DeletedA flag that is completely removed from LaunchDarkly. You must specifically delete a flag, and you can only delete a flag after you have archived it. To learn more, read Deleting flags.

In the Display menu on the Flags list, select Archive checks to display whether a flag is “Ready for code removal” or “Ready to archive.” Then, click the indicator to remove the flag from your code, or to archive it. To learn more, read Edit list columns, Code references, and Archiving flags.

Flag status definitions

The flag status lets you know when a flag is new, active, launched, or inactive. It’s important to understand flag statuses so you know which flags are safe to remove from your code.

Every feature flag has a status that reflects the state of the flag in each environment. The status is specific to an environment. Use the environment-level filters on the Flags list to find flags in a specific status.

The following table explains the flag status definitions:

StatusDefinition
New

You created the flag fewer than seven days ago and it has never been evaluated.

Active

The flag is being evaluated, and either there are either multiple variations configured, you have made changes to its configuration in the past seven days, or the flag is toggled off.

Launched

The flag has been evaluated in the past seven days, you have configured the flag to serve only one variation, you have made no changes to the flag’s configuration in the past seven days, and the flag is toggled on.


Launched, temporary flags that are 30 days old or older and are not prerequisites of other flags are considered ready for code removal. You can find these flags by filtering your Flags list by flag lifecycle. LaunchDarkly only checks critical environments when considering whether a flag is ready for code removal.


Launched flags that you have configured to serve only one variation, but have a prerequisite, may still serve a second variation if the prerequisite is not met.

Inactive

The flag has not been evaluated for at least seven days.


Inactive, temporary flags that are 30 days old or older, are not prerequisites of other flags, and do not have any code references are considered ready to archive. You can find these flags by filtering your Flags list by flag lifecycle.

Engineering insights uses different definitions

If you have access to engineering insights, be aware that engineering insights uses more granular definitions of flag status. You can view the flag status on the flag health page.

To learn more, read Flag health.