Skip to content

Feature Flags

Feature flags control which system capabilities are available. All nine flags default to true. Setting a tool-gated flag to false removes the capability entirely — the tool is not registered, not visible to the LLM, and is rejected if a client calls it directly. compaction gates engine behavior rather than a tool: setting it to false disables history compaction.

Add a features object to your nimblebrain.json:

nimblebrain.json
{
"features": {
"bundleManagement": true,
"skillManagement": true,
"delegation": true,
"toolDiscovery": true,
"bundleDiscovery": true,
"fileContext": true,
"userManagement": true,
"workspaceManagement": true,
"compaction": true
}
}

You only need to include flags you want to change. Omitted flags use their default (true).

FlagDefaultControlsTool(s) gated
bundleManagementtrueReserved. Previously gated the removed nb__manage_app tool. Kept as a stable operator knob; it gates no tool today.— (reserved)
skillManagementtrueCreate, edit, delete, and activate user skillsskills__create, skills__update, skills__delete, skills__activate, skills__deactivate, skills__history, skills__restore
delegationtrueMulti-agent sub-task delegationnb__delegate
toolDiscoverytrueSearch installed tools by keywordnb__search (scope: "tools")
bundleDiscoverytrueSearch registries for bundlesnb__search (scope: "registry")
fileContexttrueFile upload and context extractionFile processing pipeline
userManagementtrueCreate, update, and delete usersnb__manage_users
workspaceManagementtrueCRUD workspaces and manage membersnb__manage_workspaces
compactiontrueHistory compaction — fold the oldest turns of a long conversation into a summary at run start to bound context growth. User-authored messages (instructions, corrections) are retained verbatim across compaction, bounded. Event-sourced stores only.— (engine behavior, not a tool)

Tools not listed in the table above are never gated by feature flags. They register and stay visible regardless of feature configuration — for example nb__status, nb__search itself (only its scope-specific behavior is gated), and the read-only platform tool surfaces.

Feature flags are enforced at tool registration. A gated tool whose flag is false is excluded at startup — it never appears in tools/list for the LLM, the web shell, or external MCP clients, and a direct call to it is rejected. compaction is enforced differently: it changes engine behavior at run start rather than gating a tool.