Skip to content
2026 Respawn OSS

Configuration

Kent resolves settings in this order (higher no. = higher priority):

  1. Built-in defaults
  2. ~/.kent/config.toml
  3. <workspace-root>/.kent/config.toml
  4. Environment variables
  5. kent run CLI flags

Interactive session flows resolve workspace-local config from the session workspace root. kent serve starts without a workspace root and applies workspace config only when a project/session selects a workspace. kent run is the only entrypoint that accepts config override flags.

Global settings live at:

~/.kent/config.toml

Workspace settings live at:

<workspace-root>/.kent/config.toml

Kent also installs a user-editable ripgrep config at:

~/.kent/rg.conf

Kent creates ~/.kent/rg.conf when missing and exports it to shell tools via RIPGREP_CONFIG_PATH only when you have not already set RIPGREP_CONFIG_PATH yourself.

Changing persistence_root does not move either config file. persistence_root controls where Kent stores its database & auth state. The default is ~/.kent.

model = "gpt-5.5"
thinking_level = "medium" # low, medium, high, xhigh
model_verbosity = "medium" # or "low"
# system_prompt_file = "SYSTEM.md" # relative to this config.toml directory
theme = "auto" # or light / dark
web_search = "native"
compaction_mode = "local" # or "native" (if supported)
cache_warning_mode = "default" # cache invalidation messages; or "verbose" / "off"
server_host = "127.0.0.1" # kent local server config
server_port = 53082
[timeouts]
model_request_seconds = 400
[tools]
shell = true
# Leave both patch/edit commented to use Kent's model-based default.
# patch = true
# edit = false
view_image = true
web_search = true
trigger_handoff = true # proactive compaction by the model
[shell]
postprocessing_mode = "all" # shell output token optimizations by Kent, or "all" | "none" | "user"
# postprocess_hook = "~/.kent/shell_postprocess_hook" # custom postprocess_hook, see docs
[skills]
"skill name" = true
[reviewer] # aka supervisor
frequency = "edits"
# model = "gpt-5.4-mini"
# model_verbosity = "low"
# provider_override = "openai"
# openai_base_url = "http://127.0.0.1:11434/v1"
# auth = "none" # or "inherit"
# model_context_window = 64000
timeout_seconds = 60
verbose_output = false # show in ongoing transcript
# system_prompt_file = "~/.kent/reviewer_system_prompt.md"
# custom subagent roles config, fast is the default one, always provided
[subagents.fast]
# agent_callable = true
# description = ""
# model = "gpt-5.4-mini"
# priority_request_mode = true
FlagOverridesNotes
kent run --modelmodel
kent run --provider-overrideprovider_override
kent run --thinking-levelthinking_level
kent run --themetheme
kent run --model-timeout-secondstimeouts.model_request_seconds
kent run --toolsentire tool setCSV replacement, not a merge
kent run --openai-base-urlopenai_base_urlAlso affects continuation behavior

kent run also accepts the headless-only selectors --agent <role> and --fast, which choose a subagent role rather than directly overriding one config key.

KeyTypeDefaultEnvCLIDescription
modelstringgpt-5.5KENT_MODELkent run --modelModel name. If provider inference from the model name is not enough, set provider_override too.
thinking_levelstringmediumKENT_THINKING_LEVELkent run --thinking-levelProvider-specific reasoning effort string.
model_verbositystringmediumText verbosity hint for supported models. Allowed: "", low, medium, high. Unsupported models ignore it.
system_prompt_filestring""Main system prompt file. Relative paths resolve from the containing config.toml directory. Empty files are skipped.
themestringautoKENT_THEMEkent run --themeTUI theme. Allowed: auto, light, dark. light and dark force Kent’s fixed palettes. auto or an omitted value falls back to terminal background detection.
notification_methodstringautoKENT_NOTIFICATION_METHODTerminal notification backend. Allowed: auto, osc9, bel. auto chooses osc9 on supported terminals and falls back to bel.
tool_preamblesbooltrueKENT_TOOL_PREAMBLESIncludes tool-usage preambles in the main system prompt for interactive runs. Headless kent run still suppresses them.
priority_request_modeboolfalseEnables fast-mode requests where the provider supports them.
debugboolfalseKENT_DEBUGEnables global developer-oriented strictness and logging. Only use for development/debugging
server_hoststring127.0.0.1KENT_SERVER_HOSTExact TCP app-server host Kent will dial or listen on. Kent does not use discovery files or silent port rebinding. Same-machine Unix socket optimization, when supported, is derived automatically and does not override an explicit TCP target.
server_portint53082KENT_SERVER_PORTExact TCP app-server port Kent will dial or listen on. Must match across clients attached to the same persistence root. Same-machine Unix socket optimization, when supported, is additive only and does not override an explicit TCP target.
web_searchstringnativeKENT_WEB_SEARCHWeb search backend. Allowed: off, native. custom (e.g. Brave Search) is not implemented yet, on the roadmap.
provider_overridestring""KENT_PROVIDER_OVERRIDEkent run --provider-overrideForces provider family for custom or alias model names. Allowed: openai, anthropic. Requires an explicit model override.
openai_base_urlstring""KENT_OPENAI_BASE_URLkent run --openai-base-urlOpenAI-compatible base URL. Must be used with provider_override=openai or with no explicit provider override. Cannot be changed mid-session.
storeboolfalseKENT_STORESets OpenAI Responses store=true for main model requests.
allow_non_cwd_editsboolfalseKENT_ALLOW_NON_CWD_EDITSLets first-class file edit tools edit files outside the workspace root. This is not sandboxing - model can still bypass this easily.
model_context_windowint272000KENT_MODEL_CONTEXT_WINDOWExplicit context-window size used for compaction and token accounting. Must be > 0.
context_compaction_threshold_tokensint258400KENT_CONTEXT_COMPACTION_THRESHOLD_TOKENSAuto-compaction threshold. Must be > 0, < model_context_window, and at least 50% of model_context_window. The default is derived from the default context window.
pre_submit_compaction_lead_tokensint35000KENT_PRE_SUBMIT_COMPACTION_LEAD_TOKENSFixed pre-submit runway reserve before auto-compaction. Kent compacts before sending the next user prompt once (context_compaction_threshold_tokens - this threshold) is reached.
minimum_exec_to_bg_secondsint15KENT_MINIMUM_EXEC_TO_BG_SECONDSDefault floor for exec_command yield time before it moves to background and lets Kent manage it asynchronously. Must be > 0. Use if model frequently expects your commands to complete fast, they background, and force model to poll for them.
compaction_modestringlocalKENT_COMPACTION_MODEAllowed: native, local, none. native prefers provider-native compaction and falls back to local compaction. local always uses local summary compaction. none disables auto-compaction and makes manual compaction fail.
cache_warning_modestringdefaultKENT_CACHE_WARNING_MODEPrompt-cache warning policy. Allowed: off, default, verbose. default catches unwanted invalidations and keeps them in detail mode. verbose includes everything from default, surfaces cache warnings in ongoing mode too, and a broader range of warnings.
shell_output_max_charsint16000KENT_SHELL_OUTPUT_MAX_CHARSOutput budget for shell tools and background-shell notices before they are truncated.
bg_shells_outputstringdefaultKENT_BG_SHELLS_OUTPUTBackground-shell output mode (injection of shell outputs into model context). Allowed: default, verbose, concise. Verbose dumps all output into the main agent’s model. Concise forces it to read output files. Default outputs truncated previews + gives a file path.
shell.postprocessing_modestringbuiltinKENT_SHELL_POSTPROCESSING_MODESemantic post-processing mode for exec_command. Allowed: none, builtin, user, all. builtin enables Kent processors only. all runs Kent processors first, then your hook.
shell.postprocess_hookstring""KENT_SHELL_POSTPROCESS_HOOKOptional executable/script path for a single local command post-processing hook. Kent sends JSON on stdin and expects JSON on stdout.
prevent_sleepstringactiveKENT_PREVENT_SLEEPPrevent system sleep while Kent is running. Allowed: always (while the server process is live), active (while any agent is working, plus up to one minute of idle-confirmation grace), never (disabled). Only system sleep is inhibited; screensaver and display sleep are unaffected.
persistence_rootstring~/.kentKENT_PERSISTENCE_ROOTRoot for auth, session, and workspace index storage. Does not change the location of ~/.kent/config.toml.
KeyTypeDefaultEnvCLIDescription
timeouts.model_request_secondsint400KENT_TIMEOUTS_MODEL_REQUEST_SECONDSkent run --model-timeout-secondsHTTP timeout for model requests. Must be > 0.

Configure the supervisor agent that oversees model changes.

KeyTypeDefaultEnvDescription
reviewer.frequencystringeditsKENT_REVIEWER_FREQUENCYAllowed: off, all, edits. all runs the reviewer after every completed assistant turn. edits runs it only after successful first-class file edits.
reviewer.modelstringinherits modelKENT_REVIEWER_MODELSeparate model for the reviewer pass. If unset, Kent uses main model.
reviewer.thinking_levelstringinherits thinking_levelKENT_REVIEWER_THINKING_LEVELAllowed: low, medium, high, xhigh.
reviewer.model_verbositystringinherits model_verbosityKENT_REVIEWER_MODEL_VERBOSITYText verbosity hint for supported reviewer models. Allowed: "", low, medium, high.
reviewer.provider_overridestringinherits provider_overrideKENT_REVIEWER_PROVIDER_OVERRIDEForces provider family for the reviewer model. Allowed: openai, anthropic.
reviewer.openai_base_urlstringinherits openai_base_url for OpenAI-family reviewer providersKENT_REVIEWER_OPENAI_BASE_URLOpenAI-compatible base URL for the reviewer model. Non-OpenAI endpoints can run without Kent auth when the server accepts anonymous requests.
reviewer.authstringinheritKENT_REVIEWER_AUTHReviewer auth policy. inherit uses Kent’s configured auth. none sends no Authorization header; providers that require auth return their normal runtime error.
reviewer.model_context_windowintinherits model_context_windowKENT_REVIEWER_MODEL_CONTEXT_WINDOWExplicit reviewer context-window size sent to the reviewer provider.
reviewer.system_prompt_filestring""Path to a custom supervisor system prompt file. Relative paths resolve from the config file directory. Workspace config overrides global config; no CLI or environment override is provided.
reviewer.timeout_secondsint60KENT_REVIEWER_TIMEOUT_SECONDSReviewer HTTP timeout. Must be > 0.
reviewer.verbose_outputboolfalseKENT_REVIEWER_VERBOSE_OUTPUTControls whether reviewer suggestion text is shown at all. When false, Kent only shows the concise reviewer result/status line. When true, Kent shows the full suggestion list at the moment the reviewer issues it, and the later reviewer status stays concise after the follow-up is applied or ignored.

Use these for custom reviewer models or reviewer providers when the built-in registry is not enough.

KeyTypeDefaultEnvDescription
reviewer.model_capabilities.supports_reasoning_effortboolinherits model_capabilities.supports_reasoning_effortKENT_REVIEWER_MODEL_CAPABILITIES_SUPPORTS_REASONING_EFFORTOverride-marks the reviewer model as supporting reasoning effort / thinking levels.
reviewer.model_capabilities.supports_vision_inputsboolinherits model_capabilities.supports_vision_inputsKENT_REVIEWER_MODEL_CAPABILITIES_SUPPORTS_VISION_INPUTSMarks the reviewer model as supporting multimodal image and PDF inputs.
reviewer.provider_capabilities.provider_idstringinherits provider_capabilities.provider_idKENT_REVIEWER_PROVIDER_CAPABILITIES_PROVIDER_IDRequired whenever you set reviewer provider capability overrides.
reviewer.provider_capabilities.supports_responses_apiboolinherits provider_capabilities.supports_responses_apiKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_APIMarks the reviewer provider as supporting the Responses API.
reviewer.provider_capabilities.supports_responses_compactboolinherits provider_capabilities.supports_responses_compactKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_COMPACTMarks the reviewer provider as supporting server-side compaction.
reviewer.provider_capabilities.supports_request_input_token_countboolinherits provider_capabilities.supports_request_input_token_countKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_REQUEST_INPUT_TOKEN_COUNTMarks the reviewer provider as supporting exact request input-token counting.
reviewer.provider_capabilities.supports_prompt_cache_keyboolinherits provider_capabilities.supports_prompt_cache_keyKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_PROMPT_CACHE_KEYMarks the reviewer provider as accepting prompt cache keys.
reviewer.provider_capabilities.supports_native_web_searchboolinherits provider_capabilities.supports_native_web_searchKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_NATIVE_WEB_SEARCHMarks the reviewer provider as supporting native web search.
reviewer.provider_capabilities.supports_reasoning_encryptedboolinherits provider_capabilities.supports_reasoning_encryptedKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_REASONING_ENCRYPTEDMarks the reviewer provider as supporting encrypted reasoning items.
reviewer.provider_capabilities.supports_server_side_context_editboolinherits provider_capabilities.supports_server_side_context_editKENT_REVIEWER_PROVIDER_CAPABILITIES_SUPPORTS_SERVER_SIDE_CONTEXT_EDITMarks the reviewer provider as supporting server-side context editing.
reviewer.provider_capabilities.is_openai_first_partyboolinherits provider_capabilities.is_openai_first_partyKENT_REVIEWER_PROVIDER_CAPABILITIES_IS_OPENAI_FIRST_PARTYMarks the reviewer provider as first-party OpenAI semantics.

Use these only for custom or alias models when the built-in model registry is not enough.

KeyTypeDefaultEnvDescription
model_capabilities.supports_reasoning_effortboolfalseKENT_MODEL_CAPABILITIES_SUPPORTS_REASONING_EFFORTOverride-marks the configured model as supporting reasoning effort / thinking levels.
model_capabilities.supports_vision_inputsboolfalseKENT_MODEL_CAPABILITIES_SUPPORTS_VISION_INPUTSMarks the configured model as supporting multimodal image and PDF inputs.

If both values stay false, Kent falls back to the built-in model capability registry.

Use these only for custom providers or models.

KeyTypeDefaultEnvDescription
provider_capabilities.provider_idstring""KENT_PROVIDER_CAPABILITIES_PROVIDER_IDRequired whenever you set provider capability overrides.
provider_capabilities.supports_responses_apiboolfalseKENT_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_APIMarks the provider as supporting the Responses API.
provider_capabilities.supports_responses_compactboolfalseKENT_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_COMPACTMarks the provider as supporting server-side compaction.
provider_capabilities.supports_native_web_searchboolfalseKENT_PROVIDER_CAPABILITIES_SUPPORTS_NATIVE_WEB_SEARCHMarks the provider as supporting native web search.
provider_capabilities.supports_reasoning_encryptedboolfalseKENT_PROVIDER_CAPABILITIES_SUPPORTS_REASONING_ENCRYPTEDMarks the provider as supporting encrypted reasoning items.
provider_capabilities.supports_server_side_context_editboolfalseKENT_PROVIDER_CAPABILITIES_SUPPORTS_SERVER_SIDE_CONTEXT_EDITMarks the provider as supporting server-side context editing.
provider_capabilities.is_openai_first_partyboolfalseKENT_PROVIDER_CAPABILITIES_IS_OPENAI_FIRST_PARTYMarks the provider as first-party OpenAI semantics, which gates some Responses-specific behavior such as fast mode and phase protocol features.

[tools] is a per-tool boolean table in config.toml. File-based tool toggles merge with defaults. KENT_TOOLS and kent run --tools behave differently: they replace the entire tool set with the CSV you provide.

KeyDefaultWhat enabling it exposes
tools.ask_questiontrueTool to ask interactive questions
tools.shelltrueThe primary shell tool. Internally this maps to exec_command.
tools.patchdynamicFreeform patch grammar edit tool
tools.editdynamicJSON text replacement/create/delete edit tool
tools.trigger_handofffalseExperimental tool the agents can use to proactively compact their own context.
tools.view_imagetrueAbility to view PNG, JPEG, still GIF, and PDF files (if supported)
tools.web_searchtrueTool to search the web
tools.write_stdintrueInteraction with background shells.

Notes:

  • tools.web_search = true does not force web search on. Native search still depends on web_search = "native" and provider support.
  • tools.patch and tools.edit are mutually exclusive. If both are left at their defaults, Kent chooses patch for first-party OpenAI providers or gpt-* model names, and edit otherwise.
  • To force edit, set edit = true and patch = false.

[subagents.<role>] is a file-only table for named headless subagent roles. Fast is always-present, but you can add custom agents here.

Subagent roles inherit the main config and then override only the keys set in that role table. Set system_prompt_file inside a subagent role to use a role-specific main system prompt for kent run --agent <role>. Set description to describe a behaviorally distinct role to other agents. Set agent_callable = false for roles that humans may run explicitly but agents should not call from Kent sessions.

More info on the Subagents page.

[skills] is a file-only per-skill boolean table in config.toml to disable unneeded skills. Keys are matched case-insensitively.

[skills]
"<skill name>" = true # | false

Notes:

  • Skill toggles are only applied when Kent creates a new conversation/session.
  • Use "quoted names" to refer to skill keys containing spaces.
  • Preinstalled skills are seeded into ~/.kent/.generated/skills; disable them here instead of editing generated files.