Skip to content

Settings Reference

KosmoKrator settings are schema-backed. The schema drives /settings, settings:*, validation, type parsing, choices, source reporting, and effect timing.

Use this page when you need an exhaustive list. Use Configuration for concepts and examples.

Settings can be written to two user-editable scopes:

ScopePathUse for
Global~/.kosmokrator/config.yamlPersonal defaults, provider/model choice, secrets references, UI preference.
Project.kosmokrator/config.yaml or .kosmokrator.yamlRepository policy, team-safe permissions, project model overrides.

Effective precedence is:

project override -> global override -> bundled default

The CLI reports both the source and the effective value:

Terminal window
kosmokrator settings:get agent.default_provider --json
kosmokrator settings:list --json
TypeAccepted input
toggleon, off, true, false, 1, 0, yes, no.
choiceOne of the option values from settings:options.
dynamic_choiceA value discovered from runtime catalogs, such as provider/model IDs.
numberInteger or decimal depending on the setting.
textRaw string.
string_listComma-separated, whitespace-separated, newline-separated, or JSON array.

Batch apply JSON when setting many values:

Terminal window
jq -n '{
settings: {
"agent.mode": "plan",
"tools.default_permission_mode": "guardian",
"context.auto_compact": "on"
}
}' | kosmokrator settings:apply --stdin-json --project --json
EffectMeaning
applies_nowActive runtime can observe it immediately or on the next tool/prompt boundary.
next_turnThe next user prompt or LLM turn will use it.
next_sessionRestart the session to guarantee the new value is wired into all services.
SettingTypeDefaultEffectDescription
ui.rendererchoice: auto, tui, ansiautonext sessionPreferred renderer for sessions.
ui.themechoicedefaultnext sessionTerminal theme preset.
ui.intro_animatedtoggleonnext sessionPlay startup animation.
ui.show_reasoningtoggleoffapplies nowDisplay provider reasoning/thinking content when available.
SettingTypeDefaultEffectDescription
agent.default_providerdynamic choicebundled provider defaultnext sessionProvider used when a session starts.
agent.default_modeldynamic choicebundled model defaultnext sessionModel used when a session starts.

Provider and model options are dynamic:

Terminal window
kosmokrator settings:options agent.default_provider --json
kosmokrator settings:options agent.default_model --provider anthropic --json
SettingTypeDefaultEffectDescription
agent.modechoice: edit, plan, askeditapplies nowStarting operational mode.
agent.reasoning_effortchoice: off, low, medium, highhighapplies nowExtended reasoning effort for providers that support it.
agent.temperaturenumber0applies nowSampling temperature.
agent.max_tokensnumberunsetapplies nowOverride output token limit.
agent.max_retriesnumber0applies nowRetry limit for transient provider failures. 0 means unlimited.
agent.system_prompttextbundled promptnext sessionBase system prompt for agent sessions.
SettingTypeDefaultEffectDescription
agent.subagent_providerdynamic choiceinherit main providernext sessionProvider for depth-1 subagents.
agent.subagent_modeldynamic choiceinherit main modelnext sessionModel for depth-1 subagents.
agent.subagent_depth2_providerdynamic choiceinherit depth-1 providernext sessionProvider for depth-2 and deeper subagents.
agent.subagent_depth2_modeldynamic choiceinherit depth-1 modelnext sessionModel for depth-2 and deeper subagents.
agent.subagent_max_depthnumber3next sessionMaximum spawned agent tree depth.
agent.subagent_concurrencynumber10next sessionMaximum concurrent subagents. 0 means unlimited.
agent.subagent_max_retriesnumber2next sessionRetries for transient subagent failures.
agent.subagent_idle_watchdog_secondsnumber900next sessionCancel a running subagent after no progress for this many seconds. 0 disables.
SettingTypeDefaultEffectDescription
tools.default_permission_modechoice: guardian, argus, prometheusguardianapplies nowDefault tool approval policy.
tools.denied_toolsstring listemptynext sessionTools that are always denied, even in Prometheus.
tools.safe_toolsstring listbundled listnext sessionTools treated as safe under Guardian.
tools.approval_requiredstring listbundled listnext sessionTools requiring approval unless policy bypasses them.
tools.blocked_pathsstring listbundled listnext sessionGlob patterns blocked for file tools.
tools.allowed_pathsstring listemptynext sessionPath allowlist supplementing project-local access.
tools.guardian_safe_commandsstring listbundled listnext sessionBash command patterns Guardian can auto-approve.

See Permissions for the evaluation chain and examples.

SettingTypeDefaultEffectDescription
tools.bash.timeoutnumber120next sessionDefault bash timeout in seconds.
tools.bash.blocked_commandsstring listbundled listnext sessionShell command patterns always denied.
tools.shell.wait_msnumber100next sessionPoll interval for persistent shell sessions.
tools.shell.idle_ttlnumber300next sessionSeconds before idle shell sessions are cleaned up.
SettingTypeDefaultEffectDescription
context.memoriestoggleonnext turnEnable memory recall and persistence.
context.auto_compacttoggleonnext turnCompact automatically before model context overflow.
context.compact_thresholdnumber60next turnLegacy percentage threshold fallback.
context.reserve_output_tokensnumber16000next turnTokens reserved for the assistant response.
context.warning_buffer_tokensnumber24000next turnShow warnings below this input-budget buffer.
context.auto_compact_buffer_tokensnumber12000next turnAuto-compact below this input-budget buffer.
context.blocking_buffer_tokensnumber3000next turnHard stop buffer to avoid context overflow.
context.prune_protectnumber40000next turnRecent tool-result tokens protected from pruning.
context.prune_min_savingsnumber20000next turnMinimum savings required for a prune pass to be accepted.
context.max_output_linesnumber2000next turnMaximum tool-output lines retained in context.
context.max_output_bytesnumber50000next turnMaximum tool-output bytes retained in context.
SettingTypeDefaultEffectDescription
integrations.permissions_defaultchoice: allow, ask, denyaskapplies nowDefault read/write policy for integration calls without provider-specific policy.

Integration activation, credentials, named accounts, and provider read/write policies are configured with integrations:configure, not through generic settings:set, because the command knows each provider credential schema.

Terminal window
kosmokrator integrations:configure plane --account production \
--set api_key="$PLANE_API_KEY" \
--set workspace_slug=my-workspace \
--enable \
--read allow \
--write ask \
--json
SettingTypeDefaultEffectDescription
mcp.permissions_defaultchoice: allow, ask, denyaskapplies nowDefault read/write policy for MCP operations without server-specific policy.
mcp.servers.SERVER.permissions.readchoice: allow, ask, denyinherit defaultapplies nowRead policy for one server.
mcp.servers.SERVER.permissions.writechoice: allow, ask, denyinherit defaultapplies nowWrite policy for one server.
mcp.trust.SERVER.fingerprinttextunsetapplies nowProject server trust fingerprint written by mcp:trust.

Server definitions live in JSON files, not YAML settings. See MCP.

SettingTypeDefaultEffectDescription
web.search.enabledtoggleoffnext sessionEnable optional external web_search.
web.search.providerchoiceunsetnext sessionDefault external search provider.
web.search.max_resultsnumber8next sessionDefault search result count.
web.fetch.providerchoicenativenext sessionDefault fetch provider. native keeps built-in fetch.
web.fetch.allow_externaltoggleoffnext sessionAllow web_fetch_external and provider extract calls.
web.crawl.enabledtoggleoffnext sessionEnable optional web_crawl.
web.crawl.providerchoiceunsetnext sessionDefault crawl provider.
web.native.providerchoiceunsetnext sessionProvider-native web search backend.
web.native.modechoice: cached, livecachednext sessionNative provider search freshness hint.
web.providers.tavily.enabledtoggleoffnext sessionEnable Tavily.
web.providers.firecrawl.enabledtoggleoffnext sessionEnable Firecrawl.
web.providers.exa.enabledtoggleoffnext sessionEnable Exa.
web.providers.brave.enabledtoggleoffnext sessionEnable Brave Search.
web.providers.parallel.enabledtoggleoffnext sessionEnable Parallel.
web.providers.jina.enabledtoggleoffnext sessionEnable Jina Reader/Search.
web.providers.searxng.enabledtoggleoffnext sessionEnable configured SearXNG.
web.providers.searxng.base_urltextunsetnext sessionBase URL for a trusted SearXNG instance.
web.providers.perplexity.enabledtoggleoffnext sessionEnable Perplexity search.
web.providers.openai_native.enabledtoggleoffnext sessionEnable OpenAI native web search provider.
web.providers.anthropic_native.enabledtoggleoffnext sessionEnable Anthropic native web search provider.
web.search.default_providerchoicetavilynext sessionAdvanced fallback default used by internal provider managers.
web.fetch.default_providerchoicedirectnext sessionAdvanced fetch fallback default.
web.fetch.max_charsnumber12000next sessionDefault maximum characters before chunking.

Use web:configure when storing API key status or setting provider defaults from a script.

SettingTypeDefaultEffectDescription
gateway.telegram.enabledtoggleoffnext sessionEnable Telegram gateway worker.
gateway.telegram.session_modechoice: thread, thread_user, chat, chat_userthreadnext sessionMap Telegram messages to Kosmo sessions.
gateway.telegram.allowed_usersstring listemptynext sessionAllowed Telegram user IDs or usernames. Empty allows any reachable user.
gateway.telegram.allowed_chatsstring listemptynext sessionAllowed chat IDs. Empty allows all chats.
gateway.telegram.require_mentiontoggleonnext sessionIn groups, respond only when mentioned or replied to unless the chat is free-response.
gateway.telegram.free_response_chatsstring listemptynext sessionChat IDs where mention is not required.
gateway.telegram.poll_timeout_secondsnumber20next sessionLong-poll timeout.

The bot token is a managed secret under gateway.telegram.token, configured with gateway:telegram:configure --token-stdin, --token-env, or secrets:set.

SettingTypeDefaultEffectDescription
audio.completion_soundtoggleoffapplies nowCompose and play a short musical piece after each agent response.
audio.soundfonttext~/.kosmokrator/soundfonts/FluidR3_GM.sf2applies nowSoundFont path for MIDI playback.
audio.llm_timeoutnumber60applies nowSeconds to wait for AI music composition before fallback.
audio.max_durationnumber8applies nowMaximum length of composed piece.
audio.max_retriesnumber1applies nowComposition retry count.
agent.audio_providerdynamic choiceinherit main providernext sessionProvider for completion sound composition.
agent.audio_modeldynamic choiceinherit main modelnext sessionModel for completion sound composition.

Agents and wrappers should discover rather than hard-code:

Terminal window
kosmokrator settings:list --json
kosmokrator settings:list --category web --json
kosmokrator settings:get web.search.enabled --json
kosmokrator settings:options tools.default_permission_mode --json
kosmokrator settings:options agent.default_model --provider anthropic --json
kosmokrator settings:doctor --json

When adding new settings in code, update this page, Configuration, and the website navigation if a new category deserves its own guide.