A toggle in production is a deploy.
flagctl puts flag changes in your repo. PR-reviewed, git-shipped, easy to roll back.
Three steps from scary to boring.
Wrap it in a flag
Drop the SDK in. Wrap the risky code path. It ships, but nobody sees it yet.
if (flags.eval('checkout-v2', user)) {
return renderNewCheckout();
}
return renderClassicCheckout();Roll it out
Yourself → team → 1% → 10% → 50%. Watch your metrics between each step.
production: enabled: true percent: 25 target: beta-users
Kill it on the way down
Pager fires. Flip the kill switch with a reason. Auto-reverts when the incident clears.
$ flagctl override checkout-v2 \ --off --reason "INC-2461" \ --for 2h ✓ reverts in 2h
Every release feels reversible.
The unsexy parts of shipping features — rollouts, kill switches, targeting, undo — all in one small platform.
Gradual rollouts
Ramp from 1% to 100% with a slider. Pause the second your error rate ticks up.
One-click kill switch
Disable a feature instantly. No deploy, no PR, no engineer. Reverts when the incident clears.
Target anything
Roll out by user, plan, region, browser, or any attribute you pass in. Internal users get it first.
A/B in a flag
Same primitive. Set variants, weights, a metric to watch. Decide in days, not weeks.
Reviewed like code
Risky changes go through a PR. No more silent dashboard toggles by people who shouldn't be toggling.
Safe for AI agents
Let an agent propose a rollout. Policies decide what ships unattended and what needs a human.
What exactly is a feature flag?
A switch in your code. Instead of "ship the new checkout to everyone the moment we deploy," you ship it wrapped in a flag and turn it on for whoever you want, whenever you want — no redeploy.
Why not just use environment variables?
Env vars need a redeploy to change. Flags flip live, per user, per segment. And you get a history of who flipped what, when, and why — which env vars do not give you.
How fast is it in my app?
Sub-millisecond. The SDK keeps flag state in memory and updates over a live stream. Your code evaluates a flag without a network call.
Can my team change flags without engineers?
Yes. PMs and support can flip rollouts and kill switches from the dashboard. Roles decide who can touch what. Sensitive flags can require a second pair of eyes.
Do I have to self-host?
No. Self-host is free; hosted is one click. Same product either way.
Make your next deploy boring.
Free forever for personal projects. Up in an afternoon.