Feature Flags
Feature flags control which system capabilities are available. All seven 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.
Configuration
Section titled “Configuration”Add a features object to your nimblebrain.json:
{ "features": { "skillManagement": true, "toolDiscovery": true, "catalogSearch": 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).
Flag reference
Section titled “Flag reference”| Flag | Default | Controls | Tool(s) gated |
|---|---|---|---|
skillManagement |
true |
Create, edit, delete, and activate user skills | skills__create, skills__update, skills__delete, skills__activate, skills__deactivate, skills__history, skills__restore, skills__set_status |
toolDiscovery |
true |
Search installed tools by keyword | nb__search (scope: "tools") |
catalogSearch |
true |
The catalog scope of nb__search (not the catalog itself — manage_connectors reads it ungated) |
nb__search (scope: "catalog") |
fileContext |
true |
File upload and context extraction | File processing pipeline |
userManagement |
true |
Create, update, and delete users | nb__manage_users |
workspaceManagement |
true |
CRUD workspaces and manage members | nb__manage_workspaces |
compaction |
true |
History 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) |
Always-enabled tools
Section titled “Always-enabled tools”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.
Enforcement
Section titled “Enforcement”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.