All alpha users get 50% off, for life 🎉
Feature flags,
made easy.
Create a flag, stage a rollout, pull the kill switch - in minutes, not sprints. One transparent meter, served from the edge in under 100ms. And your AI agent can run all of it straight from Claude or Cursor.
No card, no spam, unsubscribe anytime. Read the docs
> ▍
No dashboard required, every action audited, scoped, and reversible.
Everything flags should be.
Nothing you have to babysit.
Ship, measure, and roll back without a redeploy, from the dashboard, the SDK, or your coding agent.
Percentage rollouts
Ship to 1%, watch it hold, then go to 100%. Target by user, plan, or country.
Agent-native (MCP)
Create, target, roll out, and kill flags from Claude, Cursor, or any MCP tool. The dashboard is the observation layer.
Kill-switch
One toggle, human or agent, shuts down a broken feature in seconds.
Scheduled rollouts
Set a launch time. Go to sleep.
Agent-aware audit log
Every change logged: who, or which agent, flipped what, when, and from where.
Edge delivery
Flags evaluated on the edge, under 100ms from anywhere on earth.
Your coding agent is the new dashboard.
You already ship with AI. Your flag tool should keep up. BetterFlag treats agents as first-class operators, not a bolted-on integration.
.mcp.json
// .mcp.json, one block, and your agent controls your flags{ "mcpServers": { "@betterflag/sdk": { "url": "https://mcp.betterflag.app", "apiKey": "sk_agent_..." // scoped to this agent, fully audited } }}Works with Claude Code, Cursor, and anything that speaks MCP. The dashboard stays for observing; the agent does the operating.
Full API parity
Everything the dashboard does, the MCP server and REST API do: create flags, edit targeting, stage rollouts, promote environments, read evaluation stats.
Agent-scoped keys
Each agent gets its own key with its own permissions. The audit log always answers the question that matters: which agent flipped this flag?
Approval guardrails
Let agents stage anything, but require a human tap for production kill-switches, configurable per environment. Safer than a human with dashboard access.
From toggle to your users in milliseconds.
The dashboard and SDK are still first-class. Flip a flag, adjust targeting, watch it propagate to the edge, no redeploy.
new-checkout
Disabled · prod
Targeting rules
Rollout
25%middleware.ts
import { NextResponse, type NextRequest } from "next/server";import { betterflag } from "@/lib/betterflag";
export async function middleware(req: NextRequest) { const uid = req.cookies.get("uid")?.value;
// Identify once; metadata rides along on every check after this if (uid) betterflag.signIn(uid, { signupAt: user.signupAt });
// Country? Already handled. BetterFlag detects it at the edge, // so "Country is France" just works - nothing to send. const newCheckout = await betterflag.flag("new-checkout", { default: false, });
if (newCheckout) { return NextResponse.rewrite(new URL("/checkout/v2", req.url)); }
return NextResponse.next();}Pricing
One meter: evaluations.
No seat tax. No MAU bill. No free-forever tier, just honest pricing from $9.99. Plans open with the public launch.
Starter
For side projects.
$5 per additional 1M evaluations.
Launch
For shipping founders.
$4 per additional 1M evaluations.
Scale
For growing teams.
$3 per additional 1M evaluations.
Plans open at launch: join the waitlist to lock in 50% off, for life. We charge for traffic served, not for your headcount.
BetterFlag
Feature flags made easy.
Unlimited flags, seats, and environments from $9.99/mo. Join the alpha waitlist and lock in 50% off, for life.