Skip to content

Feature flags

Every flag registered at API boot, with its default. A flag is checked as "<module>.<key>"; how flags fit the module system is in The extensibility contract.

<!-- source: registerFlags(...) calls in packages//src/server/flags.ts and packages//src/server/feature-flags.ts -->

Flags

FlagDefaultControlsDev script
achievements.enabledoffAchievements: the admin configuration, the award engine and worker, and the user gallery.
auth.oauthonSocial sign-in buttons and the OAuth callback. Which providers appear is set by the API's AUTH_OAUTH_PROVIDERS.
auth.totp-onboarding-promptonOffering two-factor enrolment once a user's email is verified.
auth.totp-required-adminonRequiring admins to enrol in two-factor within 7 days of first sign-in.
auth.totp-trust-devicesonLetting a device that passed two-factor skip the challenge on later sign-ins.
auth.trusted-devicesonTrusted-device tracking as a whole (cookie and stored device rows).
automation.enabledonAutomations: navigation entry, editor, trigger engine and run worker.
chat.ai-agentoffThe AI assistant inside chat. Needs chat.enabled.on
chat.enabledoffChat: the conversations UI and message storage.on
chat.org-brandingoffLetting the organization name its own assistant, overriding the deployment's CHAT_ASSISTANT_NAME.
data-models.public-formsoffPublic forms: sharing a subset of a model's fields so people outside the app can submit records.on
data-models.query-languageoffThe query bar and advanced filters on record lists. Off falls back to the basic filter menu.on
discord.enabledoffThe Discord integration's action nodes.
files.enabledonThe file-upload service and the Files admin page.
github.enabledoffThe GitHub integration: connecting a repository, its trigger events and nodes.
kanban.boardonKanban as a whole. Off hides the route and its navigation entry.
kanban.queryoffThe query bar on Kanban boards.
public-api.enabledoffThe REST API under /api/v1 and its OpenAPI document. Off returns 404 for every route, even with a valid key.on
public-api.service-accountsoffService accounts and their API keys, under Service accounts in the admin area.on
telegram.enabledoffThe Telegram integration: connecting a bot, its trigger events and nodes.
twitter.enabledoffThe X (Twitter) integration: connecting an account and its action nodes.
wiki.enabledoffThe wiki. Off hides the route and its navigation entry.on

"Dev script" marks the flags pnpm enable:dev-flags turns on, as global overrides, in a development database. It refuses to run in production.

Resolution

A flag resolves to the first match, most specific first:

OrderSource
1an override for the user
2an override for one of the user's roles
3an override for the organization
4a global override
5the registered default

A flag that was never registered resolves to off.

Overrides

WhereWho
featureFlags.setOverride / removeOverride (tRPC)users with the feature-flags.write permission
pnpm enable:dev-flagsdevelopers, against a non-production database

No admin screen manages overrides. The developer overlay (Alt+D) shows, read-only, how each flag resolves for the current session.