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
mem0config entirely, the thread default'smem0config 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:
overrideGenerationConfigmerges 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.