Feature toggle

Also called: feature flag, feature switch

Last updated:

A feature toggle is the same thing as a feature flag: a switch that changes application behavior at runtime without deploying new code. "Toggle" and "flag" are interchangeable. There is no technical difference between them.

Flag or toggle?

"Feature toggle" is the older term, popularized by trunk-based-development and continuous-delivery practitioners, and "feature flag" spread later through SaaS vendors and is more common today. You will also see "feature switch" and "feature gate". The distinction that actually matters is not the word but the kind of toggle: release toggles (short-lived, for decoupling deploy from release), experiment toggles (A/B tests), ops toggles (kill switches), and permission toggles (tier gating). It is a taxonomy that describes lifespan and purpose, not naming.

Does the name change anything in practice?

No. The workflow is identical whichever word your team uses: wrap functionality in a conditional, configure the value remotely, and change behavior without touching code. The practical advice is to pick one term and stay consistent in your own codebase and documentation so searches and onboarding stay simple.

The four kinds of toggle

Release toggles hide work in progress so a half-finished feature can sit on the main branch without reaching users. They should live for days or weeks and then come out. Experiment toggles split traffic to measure which version performs better, and they last as long as the test does. Ops toggles are the kill switches and load shedders an on-call engineer reaches for, and some of those are meant to stay for the life of the system. Permission toggles gate functionality by plan or role, and they are effectively permanent, because they encode a product rule rather than a temporary decision. The categories come from Pete Hodgson's feature toggles article, and the reason to know which kind you are holding is that only the first two are ever supposed to be removed. Treating a permission toggle as flag debt and deleting it takes a paying customer's feature away.

What a feature toggle service does

Storing a boolean somewhere central is the easy part, and most teams build that version themselves first. A hosted service adds the parts that get awkward later: per-environment values so staging and production can differ, targeting rules so a toggle can be on for one cohort and off for everyone else, a record of who changed what and when, and delivery into running processes within seconds of a change rather than at the next deploy. Feature management is the usual name for that whole layer. The move usually happens when a config file stops being able to answer who turned this off on Tuesday, or when the first toggle needs to be on for one customer only.

Want the full picture? Read the concept guide: What are feature flags? →

Try it in your own app

The Free plan covers 10 flags and 2 environments. No credit card, no demo call — sign up and ship.