Skip to content
2026 Respawn OSS

Configuration

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

  1. Built-in defaults
  2. ~/.builder/config.toml
  3. Environment variables
  4. CLI flags

When you continue a session, Builder reuses the saved workspace root and saved continuation openai_base_url unless you explicitly pass --workspace or --openai-base-url.

The settings file is always:

~/.builder/config.toml

Changing persistence_root does not move config.toml.

persistence_root controls where Builder stores auth state, sessions, and workspace mappings. The default is ~/.builder.

You can create it interactively during the first builder run.

model = "gpt-5.4"
thinking_level = "medium" # low, medium, high, xhigh
model_verbosity = "medium" # or "low"
theme = "auto" # or light / dark
web_search = "native"
compaction_mode = "local" # or "native" (if supported)
cache_warning_mode = "default" # unwanted invalidations; or "verbose" / "off"
[timeouts]
model_request_seconds = 400
shell_default_seconds = 300
[tools]
shell = true
patch = true
view_image = true
web_search = true
[skills]
apiresult = false
[reviewer]
frequency = "edits"
timeout_seconds = 60
verbose_output = false

These flags overlay settings at startup.

FlagOverridesNotes
--modelmodel
--provider-overrideprovider_override
--thinking-levelthinking_level
--themetheme
--model-timeout-secondstimeouts.model_request_seconds
--shell-timeout-secondstimeouts.shell_default_seconds
--toolsentire tool setCSV replacement, not a merge
--openai-base-urlopenai_base_urlAlso affects continuation behavior
KeyTypeDefaultEnvCLIDescription
modelstringgpt-5.4BUILDER_MODEL--modelModel name. If provider inference from the model name is not enough, set provider_override too.
thinking_levelstringmediumBUILDER_THINKING_LEVEL--thinking-levelReasoning effort. Allowed: low, medium, high, xhigh.
model_verbositystringmediumText verbosity hint for supported models. Allowed: "", low, medium, high. Unsupported models ignore it.
themestringautoBUILDER_THEME--themeTUI theme. Allowed: auto, light, dark. light and dark force Builder’s fixed palettes. auto or an omitted value falls back to terminal background detection.
tui_alternate_screenstringautoBUILDER_TUI_ALTERNATE_SCREENAlternate-screen policy. Allowed: auto, always, never.
notification_methodstringautoBUILDER_NOTIFICATION_METHODTerminal notification style for asks and tool-heavy turn completion after the queued prompt drain finishes. Ask notifications include the question text and use the session title when set. Allowed: auto, osc9, bel. auto chooses osc9 on supported terminals and falls back to bel.
tool_preamblesbooltrueBUILDER_TOOL_PREAMBLESIncludes tool-usage preambles in the main system prompt for interactive runs. Headless builder run still suppresses them.
priority_request_modeboolfalseEnables fast-mode requests where the provider supports them. File-only.
web_searchstringnativeBUILDER_WEB_SEARCHNative web search mode. Allowed: off, native. custom is recognized but rejected as not implemented. This is separate from the tools.web_search toggle.
provider_overridestring""BUILDER_PROVIDER_OVERRIDE--provider-overrideForces provider family for custom or alias model names. Allowed: openai, anthropic. Requires an explicit model override.
openai_base_urlstring""BUILDER_OPENAI_BASE_URL--openai-base-urlOpenAI-compatible base URL. Must be used with provider_override=openai or with no explicit provider override. Persisted into session continuation metadata.
storeboolfalseBUILDER_STORESets OpenAI Responses store=true for main model requests. Reviewer requests still use store=false.
allow_non_cwd_editsboolfalseBUILDER_ALLOW_NON_CWD_EDITSLets the patch tool edit files outside the workspace root.
model_context_windowint272000BUILDER_MODEL_CONTEXT_WINDOWExplicit context-window size used for compaction and token accounting. Must be > 0.
context_compaction_threshold_tokensint258400BUILDER_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_tokensint35000BUILDER_PRE_SUBMIT_COMPACTION_LEAD_TOKENSFixed pre-submit runway reserve before auto-compaction. Builder compacts before sending the next user prompt when current usage is within pre_submit_compaction_lead_tokens of context_compaction_threshold_tokens. Must be > 0, and the resulting effective pre-submit threshold must stay at or above 50% of model_context_window. Large prompts can still trigger pre-submit compaction even below this runway reserve.
minimum_exec_to_bg_secondsint15BUILDER_MINIMUM_EXEC_TO_BG_SECONDSMinimum exec_command yield time before Builder backgrounds the command. Lower values are clamped up.
compaction_modestringlocalBUILDER_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_modestringdefaultBUILDER_CACHE_WARNING_MODEPrompt-cache warning policy. Allowed: off, default, verbose. default catches unwanted invalidations and also shows the dedicated compaction warning. verbose includes everything from default and additionally surfaces broader invalidation diagnostics such as provider-reported cache reuse drops for postfix-compatible requests when the provider does not expose the cause.
shell_output_max_charsint16000BUILDER_SHELL_OUTPUT_MAX_CHARSOutput budget for shell tools and background-shell notices before they are truncated. Must be > 0.
bg_shells_outputstringdefaultBUILDER_BG_SHELLS_OUTPUTBackground-shell output mode (injection of 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.
persistence_rootstring~/.builderBUILDER_PERSISTENCE_ROOTRoot for auth, session, and workspace index storage. Supports ~ expansion. Does not change the location of ~/.builder/config.toml.
KeyTypeDefaultEnvCLIDescription
timeouts.model_request_secondsint400BUILDER_TIMEOUTS_MODEL_REQUEST_SECONDS--model-timeout-secondsHTTP timeout for model requests. Must be > 0.
timeouts.shell_default_secondsint300BUILDER_TIMEOUTS_SHELL_DEFAULT_SECONDS--shell-timeout-secondsDefault timeout for shell tool calls. Must be > 0.
KeyTypeDefaultEnvDescription
reviewer.frequencystringeditsBUILDER_REVIEWER_FREQUENCYAllowed: off, all, edits. all runs the reviewer after every completed assistant turn. edits runs it only after successful patch edits.
reviewer.modelstringinherits modelBUILDER_REVIEWER_MODELSeparate model for the reviewer pass. If unset, Builder copies the effective model.
reviewer.thinking_levelstringinherits thinking_levelBUILDER_REVIEWER_THINKING_LEVELAllowed: low, medium, high, xhigh.
reviewer.timeout_secondsint60BUILDER_REVIEWER_TIMEOUT_SECONDSReviewer HTTP timeout. Must be > 0.
reviewer.verbose_outputboolfalseBUILDER_REVIEWER_VERBOSE_OUTPUTControls whether reviewer suggestion text is shown at all. When false, Builder only shows the concise reviewer result/status line. When true, Builder 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 only for custom or alias models when the built-in model registry is not enough.

KeyTypeDefaultEnvDescription
model_capabilities.supports_reasoning_effortboolfalseBUILDER_MODEL_CAPABILITIES_SUPPORTS_REASONING_EFFORTMarks the configured model as supporting reasoning effort / thinking levels.
model_capabilities.supports_vision_inputsboolfalseBUILDER_MODEL_CAPABILITIES_SUPPORTS_VISION_INPUTSMarks the configured model as supporting multimodal image and PDF inputs.

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

Use these only for custom providers or stale provider contracts.

KeyTypeDefaultEnvDescription
provider_capabilities.provider_idstring""BUILDER_PROVIDER_CAPABILITIES_PROVIDER_IDRequired whenever you set provider capability overrides.
provider_capabilities.supports_responses_apiboolfalseBUILDER_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_APIMarks the provider as supporting the Responses API.
provider_capabilities.supports_responses_compactboolfalseBUILDER_PROVIDER_CAPABILITIES_SUPPORTS_RESPONSES_COMPACTMarks the provider as supporting server-side compaction.
provider_capabilities.supports_native_web_searchboolfalseBUILDER_PROVIDER_CAPABILITIES_SUPPORTS_NATIVE_WEB_SEARCHMarks the provider as supporting native web search.
provider_capabilities.supports_reasoning_encryptedboolfalseBUILDER_PROVIDER_CAPABILITIES_SUPPORTS_REASONING_ENCRYPTEDMarks the provider as supporting encrypted reasoning items.
provider_capabilities.supports_server_side_context_editboolfalseBUILDER_PROVIDER_CAPABILITIES_SUPPORTS_SERVER_SIDE_CONTEXT_EDITMarks the provider as supporting server-side context editing.
provider_capabilities.is_openai_first_partyboolfalseBUILDER_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. BUILDER_TOOLS and --tools behave differently: they replace the entire tool set with the CSV you provide.

Builder’s generated config.toml omits [tools] entirely until you want explicit per-tool overrides.

KeyDefaultWhat enabling it exposes
tools.ask_questiontrueTool to ask interactive questions
tools.exec_commandtrueThe primary shell tool
tools.multi_tool_use_parallelmodel-derivedParallel tool-use compatibility layer for Codex models. Parallelism is already supported natively without this tool.
tools.patchtrueThe edit tool
tools.view_imagetrueAbility to view images and PDFs (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.
  • multi_tool_use_parallel tool is only needed for Codex models (because they are post-trained on it). All other models default to that tool being disabled.

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

KeyDefaultDescription
skills.<skill name>trueEnables or disables a discovered skill for new sessions. Disabled skills are omitted from the injected skills developer message and shown as disabled in /status.

Notes:

  • Skill toggles are only applied when Builder creates a new conversation/session.
  • Use "quoted names" to refer to skill keys containing spaces.