pub struct SynapsConfig {Show 50 fields
pub model: Option<String>,
pub thinking_budget: Option<u32>,
pub thinking_level: Option<ReasoningLevel>,
pub context_window: Option<u64>,
pub context_management: ContextManagementConfig,
pub startup: StartupConfig,
pub daemon: DaemonConfig,
pub subagent: SubagentLimits,
pub compaction_model: Option<String>,
pub compaction_mode: CompactionMode,
pub compaction_exclude: Vec<ContentClass>,
pub max_tool_output: usize,
pub bash_timeout: u64,
pub bash_max_timeout: u64,
pub subagent_timeout: u64,
pub api_retries: u32,
pub refusal_retries: u32,
pub telemetry: String,
pub cache_diagnostics: bool,
pub cache_ttl: CacheTtl,
pub cache_keepwarm: CacheKeepWarm,
pub cache_keepwarm_auto_max_hours: u32,
pub max_fps: u32,
pub scroll_lines: Option<u16>,
pub theme: Option<String>,
pub theme_transition: ThemeTransitionMode,
pub tui_background_opaque: bool,
pub tui_streaming_glow: bool,
pub process_scopes: bool,
pub agent_name: Option<String>,
pub identity: Option<String>,
pub disabled_plugins: Vec<String>,
pub favorite_models: Vec<String>,
pub disabled_skills: Vec<String>,
pub progressive_tool_disclosure: bool,
pub tools_activation_confirm: ActivationConfirm,
pub tools_deferred_loading: bool,
pub session_persistence: SessionPersistence,
pub disabled_tools: Vec<String>,
pub shell: ShellConfig,
pub server: ServerConfig,
pub bridge: BridgeConfig,
pub auth: AuthConfig,
pub events: EventsConfig,
pub provider_keys: BTreeMap<String, String>,
pub keybinds: HashMap<String, String>,
pub turn_budgets: TurnBudgetsConfig,
pub memory: MemoryConfig,
pub memory_backend: MemoryBackendConfig,
pub warnings: Vec<String>,
}Expand description
Parsed configuration from the config file.
Fields§
§model: Option<String>§thinking_budget: Option<u32>§thinking_level: Option<ReasoningLevel>Named reasoning level, parsed from the same thinking = … key.
When Some, this is the authoritative level. When None, fall back
to thinking_budget for legacy numeric-only values.
context_window: Option<u64>§context_management: ContextManagementConfig§startup: StartupConfigFirst-turn / cold-start behaviour (startup.*).
daemon: DaemonConfigDaemon lifetime knobs (daemon.*); env vars still win.
subagent: SubagentLimitsSubagent fan-out limits (subagent.*).
compaction_model: Option<String>§compaction_mode: CompactionModeWhere compaction summarization runs (spec §9.4): remote provider or local-only (zero network construction).
compaction_exclude: Vec<ContentClass>Content classes excluded from remote compaction disclosure.
max_tool_output: usize§bash_timeout: u64§bash_max_timeout: u64§subagent_timeout: u64§api_retries: u32§refusal_retries: u32§telemetry: String§cache_diagnostics: bool§cache_ttl: CacheTtlPrompt-cache TTL strategy: “5m” (default) | “1h” | “hybrid”.
cache_keepwarm: CacheKeepWarmPrompt-cache keep-warm while idle (cache_keepwarm): off (default)
| auto | <N>h. See CacheKeepWarm and
docs/specs/cache-ttl-spec.md §7.
cache_keepwarm_auto_max_hours: u32Longest an auto keep-warm idle period may run, in hours
(cache_keepwarm_auto_max_hours, 1–48, default
DEFAULT_CACHE_KEEPWARM_AUTO_MAX_HOURS). An explicit <N>h mode
is its own window and ignores this.
max_fps: u32Max TUI redraw rate in frames/sec — caps streaming redraws (e.g. 60,
144, 240). User input always redraws immediately regardless. Default
60. Range 1–1000. The frame budget is 1000 / max_fps ms.
scroll_lines: Option<u16>Lines to scroll per mouse-wheel event. Different terminal emulators emit 1–9+ scroll events per physical notch; set this to compensate. Default: 3. Range 1–20.
theme: Option<String>§theme_transition: ThemeTransitionModeAnimated theme transitions: "on" (350 ms cross-fade, default),
"off" (instant snap), or integer milliseconds (0–2000).
tui_background_opaque: boolWhether the TUI paints its own opaque background. false preserves the terminal background.
tui_streaming_glow: boolWhether the prompt shows a glow sweeping across it while a turn streams. Default off.
process_scopes: boolRun the daemon, bash tool commands and PTY shells each in their own
systemd scope (Linux, when a systemd user manager is reachable), so the
out-of-memory killer can stop one runaway command instead of the whole
terminal scope with the daemon in it. process_scopes = off disables;
env SYNAPS_PROCESS_SCOPES overrides. Default on.
agent_name: Option<String>§identity: Option<String>§disabled_plugins: Vec<String>§favorite_models: Vec<String>§disabled_skills: Vec<String>§progressive_tool_disclosure: boolOpt-in progressive tool disclosure (Task 18). When false, providers receive the existing full tool schema byte-for-byte. When true, each stream starts with the small essential local core plus discovery and authorization gateways; exact activations are added per session.
tools_activation_confirm: ActivationConfirmHost confirmation policy for MODEL-INITIATED activate_tools
(tools.activation_confirm). Auto (default) authorizes without
prompting; Prompt asks the host (y/n confirm dialog); Deny never
authorizes (locked-down hosts). server.auto_approve_confirms = true
still authorizes regardless of this key.
tools_deferred_loading: booltools.deferred_loading (default on). With progressive disclosure on
the native Anthropic transport, every activatable tool is sent from the
first request with defer_loading: true and activate_tools answers
with tool_reference blocks, so an activation never changes the cached
prompt prefix. off restores the per-activation tools-array change.
session_persistence: SessionPersistenceOpt-in session persistence strategy (Task 35, spec §9.8). Json
(default) is the unchanged legacy full-rewrite path; Journal adds
an append-only delta journal with periodic atomic snapshots. See
docs/decisions/T35-session-journal-opt-in.md.
disabled_tools: Vec<String>Built-in tools to disable by runtime name (e.g. “bash”, “ls”). Removed from the registry at boot so they’re never offered to the model.
shell: ShellConfig§server: ServerConfig§bridge: BridgeConfig§auth: AuthConfig§events: EventsConfig§provider_keys: BTreeMap<String, String>§keybinds: HashMap<String, String>§turn_budgets: TurnBudgetsConfigTyped per-role turn budgets (Task 23, spec §8.1).
memory: MemoryConfigContinuous-memory settings surface (Task A2, spec §12).
memory_backend: MemoryBackendConfigHost-owned backend; selecting it does not enable recall or capture.
warnings: Vec<String>Non-fatal problems found while parsing the config file (unknown keys, unparseable values). Surfaced once at startup — never block boot.