Skip to main content

Configuration precedence and plugins

Generation configuration can come from a profile, conversation defaults and a per-send override. This reference defines their precedence and the plugin configuration passed into generation.

System prompt​

Set defaultGenerationConfig.systemPrompt through update-default-generation-config, or supply it in the per-turn generation override. update-default-generation-config replaces the complete stored configuration, so read and retain the existing model, limits and other defaults before adding the prompt. A per-send override has different merge behavior. settings.systemPrompt is not a recognized field and is ignored. The selected profile and per-turn overrides can replace the thread’s prompt; see configuration precedence.

Generation configuration precedence​

The platform resolves a final GenerationConfig for each generation call by merging three layers:

Resolution rules:

  • systemPrompt: per-send override wins > active profile > thread default. The active profile's prompt is first rendered with the current prompt variables.
  • Memory config: if the active profile omits mem0 config entirely, the thread default's mem0 config is inherited (special case — other fields are not inherited this way).
  • Model: if nothing in the chain sets a model, the platform substitutes its own default.
  • Per-send fields: overrideGenerationConfig merges field-by-field — set a field to override it for that send; omit it to keep the base value.
  • MCP servers: follow the three-tier replacement rule described in MCP server selection, not field-by-field merging.

Plugins​

plugins is a list of PluginConfig objects that activate pre/post-processing behaviour. Two built-in plugins:

PDF parsing — attach a pdf block to configure the extraction engine:

{
"plugins": [
{
"id": "file-parser",
"pdf": { "engine": "mistral-ocr" }
}
]
}

Configuration excerpt: GenerationConfig fields.

Engines: pdf-text (default, text extraction), mistral-ocr (OCR via Mistral), native (provider-native parsing).

Web search — attach a web block:

{
"plugins": [
{
"id": "web-search",
"web": {
"engine": "native",
"maxResults": 5,
"searchPrompt": "Find recent news about...",
"webSearchOptions": { "searchContextSize": "medium" }
}
}
]
}

Configuration excerpt: GenerationConfig fields.

searchContextSize accepts low, medium, or high.