Feature Flags

A feature flag is a named boolean that your application checks at runtime to decide which code path to execute.

Creating a flag

  1. Navigate to Flags in the sidebar
  2. Create a new flag
  3. Fill in the flag name — the key is auto-generated from the name (you can edit it)
  4. Select the environment this flag will start in
  5. Confirm creation

The flag starts disabled in all environments.

Flag key

The key is the identifier your code uses (e.g. new-checkout). It:

  • Is auto-generated from the name but editable before creation
  • Cannot be changed after creation
  • Is case-sensitive
  • Must be unique within a project

Choose your key carefully — it's used in your code. Once you reference it in production code, changing it requires a code change.

Enabling / disabling

Each flag has an on/off toggle per environment. Disabling a flag overrides all rules — it returns false for everyone regardless of targeting.

This is the kill-switch behaviour. See Kill-Switch a Feature →

Flag status

StatusMeaning
ActiveThe flag has at least one environment where it's been toggled or has rules.
InactiveNewly created flag, never toggled.

Deleting a flag

Go to the flag detail page → Delete flag (danger zone at the bottom).

Deleting a flag removes it from all environments and all rules that reference it. This action cannot be undone.

If your code references a deleted flag, the evaluation API returns HTTP 200 with value: false and error.type: "FLAG_NOT_FOUND" — it does not return a 404 error. Your code should always treat value: false as the safe default. It is safe to leave a flag reference in your code even if the flag no longer exists; the evaluation will return false gracefully.

Was this helpful?